H5之iframe

iframe 属于HTML的三种结构之一的框结构(其余两种树结构和层结构),iframe是一个拥有独立窗体的标签,他非常损耗资源,不易过多使用

                <iframe src="nov24.html" width="100%" height="100%" frameborder="0" name="iframea"></iframe>
		<p><a href="https://www.baidu.com" target="iframea">BAIDU.COM</a></p>  

上面是一个简单的iframe 


iframe是否会阻塞页面的加载呢,答案是的,通常页面首先会进行解析渲染,将html 文件解析为dom树,在将css文件解析为css树,最后合成为render树,此时进行layout 计算各个元素节点在屏幕的位置,然后进行回流(当元素本身结构发生变化时)重绘(当元素本身属性发生变化时,结构不变)最后渲染在浏览器上,这些操作完成之后才能进行onlaod事件加载,执行js操作。

如果此时有iframe嵌入在页面中,那么渲染时需要等子页面渲染完成之后才能进行父页面的渲染,onload事件加载也会因此被阻塞

如果此时我们用js动态生成iframe,并且放在onload事件之后去触发,那么此操作在chrome中不会阻塞页面的onload事件,但其他浏览器的onload事件依旧会被阻塞。

浏览器chromesafarifirefoxie
是否阻塞浏览器页面渲染truetruetruetrue
是否阻塞浏览器页面onload事件falsetruetruetrue

 

 

 

 

二、跨域

document.domain是比较常用的跨域方法。实现最简单但只能用于同一个主域下不同子域之间的跨域请求,比如 foo.com 和 img.foo.com 之间,img1.foo.com 和 img2.foo.com 之间。只要把两个页面的document.domain都指向主域就可以了,比如document.domain='foo.com';。
设置好后父页面和子页面就可以像同一个域下两个页面之间访问了。
父页面通过ifr.contentWindow就可以访问子页面的window,子页面通过parent.window或parent访问父页面的window,接下来可以进一步获取dom和js。

转载于:https://www.cnblogs.com/maoxiaodun/p/10011375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值