有人說,iframe是能耗最高的一個元素,儘可能減小使用。html
也有人說,iframe的安全性太差,儘可能減小使用。瀏覽器
雖然他們說的是真的,可是iframe的強大功能是不容忽視的,並且如今不乏公司正在使用它。安全
<iframe> 標籤規定一個內聯框架。一個內聯框架被用來在當前 HTML 文檔中嵌入另外一個文檔。框架
全部的主流瀏覽器都支持<iframe>標籤。你能夠把提示的文字放到 <iframe> 和 </iframe>裏面,這樣不支持 <iframe>的瀏覽器就會出現提示的文字。搜索引擎
iframe 如何使用呢?spa
一般咱們使用iframe直接在頁面嵌套iframe標籤指定的src就能夠了。設計
好比:code
<!-- <iframe> 標籤規定一個內聯框架
這裏寫p 標籤是爲了看align的效果 --> <p style="overflow: hidden;">這是一些文本。 這是一些文本。 這是一些文本。這是一些文本。 這是一些文本。 這是一些文本。 <iframe name="myiframe" id="myrame" src="external_file.html" frameborder="0" align="left" width="200" height="200" scrolling="no"> <p>你的瀏覽器不支持iframe標籤</p> </iframe> 這是一些文本。 這是一些文本。 這是一些文本。這是一些文本。 這是一些文本。 這是一些文本。</p>
iframe 的經常使用屬性:htm
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的src屬性爲本身本地的一個html頁面
代碼以下:
<body> <div id="div" style="height: 300px; background: #ddd;">這是一個外部文件裏面的內容</div> </body> <script> var div = document.getElementById("div"); console.log(div); </script>
有什麼交互的部分也是寫到這個頁面中,iframe會自動傳到引入的頁面的。
那如何獲取iframe裏面的內容呢?
var iframe = document.getElementById("myrame"); //獲取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請求;
瀏覽器的後退按鈕無效等;
因爲諸多的缺點,不符合標準網頁設計的理念,已經被拋棄,目前的HTML5再也不支持此標籤。