注意事项
1、要确保在iframe加载完成后再进行操作,如果iframe还未加载完成就开始调用里面的方法或变量,会产生错误。
2、尽量在不要在父页面中调用子页面中的页面元素或函数,所有涉及的交互操作尽量放在子页面中来完成。 可以用onload事件来判断iframe是否加载完成
父页面访问子页面中数据:两种方法:
1、document.getElementById('iframe').contentWindow.key
2、IframeNmae.window.key
子页面访问父页面:
parent.window.key
如果是跨域页面嵌套 父到子:可以用url传值(子页面location),或者postMessage 子到父:postMessage(TODO)
优点 1、页面嵌套,像导航等不同页面的相同组件,方便开发
2、重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,增加了网页下载速度)(这个还没有特别注意)
3、完全隔离js和css,减少耦合性
缺点:
1、不利于seo,不利于搜索引擎爬虫优化
2、iframe会占用浏览器的连接池
3、过多的iframe会增加服务器请求压力
4、移动设备兼容性差
to be continued ...