加勒比HEZYO黑人专区-久久精品国产99国产精品亚洲-精品国产18久久久久久-久久人妻少妇嫩草AV

歡迎光臨 織晶網絡官網!

  • 服務支持
  • 020-39182790
技術文檔您現在的位置:首頁 > 服務支持 > 技術文檔

iframe標簽介紹與用法

作者:織晶客服部   發布于:2023/3/15 14:20:49  點擊量:  來源:織晶網絡

一、什么是iframe
iframe是html中標簽元素,用于在網頁中內嵌另一個網頁,即內嵌內聯框架。iframe標簽規定一個內聯框架。一個內聯框架被用來在當前 HTML 文檔中嵌入另一個文檔。所有的主流瀏覽器都支持iframe標簽。你可以把提示的文字放到 iframe 和 /iframe里面,這樣不支持 iframe 的瀏覽器就會出現提示的文字。


二、iframe互相操作
1.首先明確一點,每個iframe里各自維護自己的全局window對象。
2.另外明確一點,只有同域才能進行iframe之間的讀改寫,跨域時,只能進行簡單的路由跳轉。
3.在父級使用window.frames[name]可以獲取子iframe的window對象,相應的可以獲取document對象,從而對子iframe進行dom操作。
4.在子iframe想要操作父元素的iframe,直接使用子元素的window.parent來獲取父級元素的window對象,從而獲取document來操作dom。

三、iframe之間的通信
1.發送信息:
當我們要向指定iframe發送信息時,首先要獲取指定iframe的window對象,然后使用這個window對象的postMessage發送消息。
otherWindow.postMessage(data, orgin,[transfer])
data是待發送的數據
orgin是發送的地址,為‘*’表示無限制,該參數必傳,否則會報錯
2.接受信息:
在要接受信息的地方,我們使用window的onmessage事件來接受消息,該事件會返回一個事件對象,其中data包含了返回的數據,orgin返回發送源。
3.安全問題:當我們明確知道orgin是誰時,不要使用‘*’,當要接受信息時,先判斷orgin是否是我們要接受的源,在做后續操作。

四、注意事項
獲取子元素的document時要確保子元素所有dom元素已經掛載完畢,因此在原生的寫法時,必須寫在window的onload事件中。

五、iframe 如何使用呢?
通常我們使用iframe直接在頁面嵌套iframe標簽指定的src就可以了。
如下:
< div id='box'>
< iframe id="iframe_page" src="b.html" data-ke-src="b.html" frameborder="0" width="100%" height="100%">< / iframe>

iframe 的常用屬性:
name : 規定 iframe 的名稱。
width: 規定 iframe> 的寬度。
height :規定 iframe 的高度。
src :規定在 iframe 中顯示的文檔的 URL。
frameborder : 規定是否顯示 iframe 周圍的邊框。 (0為無邊框,1位有邊框)。
align :規定如何根據周圍的元素來對齊 iframe。(left,right,top,middle,bottom)。
scrolling :規定是否在 iframe 中顯示滾動條。 (yes,no,auto)

iframe默認有一個寬高,存在邊界
iframe是一個行內塊級元素,可以通過display修改

那如何獲取iframe里面的內容呢?
var iframe = document.getElementById("iframe_page"); //獲取iframe標簽
var iwindow = iframe.contentWindow; //獲取iframe的window對象
var idoc = iwindow.document; //獲取iframe的document對象
console.log(idoc.documentElement); //獲取iframe的html
console.log("body",idoc.body);
但是,這里面是獲取不到里面的DOM的,可以在URL中獲取(也就是引入的html文件)

六、iframe 的優缺點
優點:
重載頁面時不需要重載整個頁面,只需要重載頁面中的一個框架頁(減少數據的傳輸,減少網頁的加載時間);
技術簡單,使用方便,主要應用于不需要搜索引擎來搜索的頁面;
方便開發,減少代碼的重復率(比如頁面的header,footer);
缺點:
會產生很多的頁面,不易于管理;
多框架的頁面會增加服務器的http請求;
瀏覽器的后退按鈕無效等。


上一篇:前端html頁面上如何獲取傳值數據

下一篇:js中將兩個以上的一維數組轉成一個二維數組