JavaScript的猜测预加载

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
< HTML >
< head runat= "server" >
< title >测试js的执行顺序 </ title >
< script language= "javascript" type= "text/javascript" >
var a = "这是一段在Header里面的JS代码" ;
alert( a) ;
< / script >
</ head >
< body onload= "javscript:alert('这是在body的Onload事件中的代码!');" >
< form id = "form1" runat= "server" >
< div >
< p >测试一下js的执行顺序
</ p >
</ div >
</ form >
< script language= "javascript" type= "text/javascript" >
var a = "这是body最后的JS代码" ;
alert( a) ;
< / script >
</ body >
</ html >
< script >
alert( "我是html后面的script") ;
< / script >
输出结果为:(1)弹出:这是一段在Header里面的JS代码
(2)弹出:这是body最后的JS代码
(3)弹出:我是html后面的script 的同时页面显示 测试一下js的执行顺序
(4)最后弹出:这是在body的Onload事件中的代码!
这时候就有疑问了,为什么(3)中的测试一下js的执行顺序 在(2)这是body最后的JS代码之后才显
示在页面上的呢?
这就是浏览器猜测预加载功能!!!
在遇到第一个 < script > 标签的时候被阻塞但是这是预加载器Speculative loader继续阅读
文档发现了第二个body中的 < script > 标签并试图加载它在第一个 < script > 标签加载完成之后
解析器发现了第二个body中的 < script > 标签由于预加载器已经把它加载下来了放在了浏览器的缓
存里所以会被立即执行之后浏览器才会收到渲染请求 < p > 测试一下js的执行顺序 </ p > 显示在页
上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值