優點:
- iframe能夠原封不動的把嵌入的網頁展現出來。
- 如果有多個網頁引用iframe,那么你只需要修改iframe的內容,就可以實現調用的每一個頁面內容的更改,方便快捷。
- 網頁如果為了統一風格,頭部和版本都是一樣的,就可以寫成一個頁面,用iframe來嵌套,可以增加代碼的可重用。
- 如果遇到加載緩慢的第三方內容如圖標和廣告,這些問題可以由iframe來解決。
缺點:
- iframe會阻塞主頁面的onload事件;
- iframe和主頁面共享連接池,而瀏覽器對相同域的連接有限制,所以會影響頁面的並行加載。,會產生很多頁面,不容易管理。
- iframe框架結構有時會讓人感到迷惑,如果框架個數多的話,可能會出現上下、左右滾動條,會分散訪問者的注意力,用戶體驗度差。
- 代碼復雜,無法被一些搜索引擎索引到,這一點很關鍵,現在的搜索引擎爬蟲還不能很好的處理iframe中的內容,所以使用iframe會不利於搜索引擎優化(SEO)。
- 很多的移動設備無法完全顯示框架,設備兼容性差。
- iframe框架頁面會增加服務器的http請求,對於大型網站是不可取的。
現在基本上都是用Ajax來代替iframe,所以iframe已經漸漸的退出了前端開發。
如果需要使用iframe,最好是通過javascript動態給iframe添加src屬性值,這樣可以繞開以上一些問題。