html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

js的延迟执行问题分析_javascript技巧_

[ ] 已经帮助:人解决问题

看这段代码:tJRHTML5中文学习网 - HTML5先行者学习网

<body>  <script src="deffer.js"></script>  content </body>

deffer.js的内容为:tJRHTML5中文学习网 - HTML5先行者学习网

alert(1)

这样在alert窗口没有被关闭之前,页面都会是一片空白。因为alert窗口阻止了页面的继续渲染。tJRHTML5中文学习网 - HTML5先行者学习网

为了避免此类问题,html规范里定义了deffer和async属性,这两个属性的具体定义这里不讨论,反正他们都是用来告诉浏览器,一定要在页面渲染完成以后再执行本脚本的内容,这样脚本执行的时候页面已经渲染完毕了。tJRHTML5中文学习网 - HTML5先行者学习网

<body>  <script deffer async src="deffer.js"></script>  content </body>

注意,对于多个加了deffer或者async的脚本,他们的执行顺序和他们在页面上出现的顺序无关。即使html规范定义了deffer脚本应该按照顺序来执行,但是浏览器事实上并没有全部遵守这个约定。tJRHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助