手机版

异步和DOM脚本文件加载的比较

时间:2021-09-10 来源:互联网 编辑:宝哥软件园 浏览:

目前我使用demo.js作为执行文件操作。代码:

var now=function(){ return(new Date());} var t _ s=now();而(现在()-t_s 2000) {}使用sleep.php作为请求文件操作。代码:

?php睡眠(3);回声“var bb”;1.常规脚本标记加载

脚本src=' http : de mo . js '/脚本脚本src=' http :s LEEP . PHP '/在浏览器:中加载脚本图1-1。下载阻塞DomReady图1-2。执行阻塞多就绪

图1-1。下载阻止就绪

图1-2。执行阻塞就绪

2.异步属性

Async是html5中的一个新属性,它可以异步下载脚本文件,而不会阻塞DOMReady。

每个异步属性脚本在下载后和窗口加载事件前立即执行。因此,脚本执行顺序可能会受到干扰

支持异步浏览器:火狐3.6、IE 10、Chrome 2、Safari 5、iOS 5、安卓3

脚本src=' http:demo.js '异步/脚本脚本src=' http3360sleep.php '在浏览器中加载异步/脚本:

图2-1异步下载不阻止DomReady阻塞加载事件

图2-2执行阻塞加载事件

图2-3 IE9不支持异步属性下载阻止DomReady

3.动态加载DOM脚本

文档对象模型(DOM)允许您使用JavaScript动态创建HTML的几乎所有文档内容。像页面上的其他元素一样,脚本元素可以通过标准的DOM函数轻松创建:

var loadScript=function(URL){ var s=document . create element(' script ');s . type=' text/JavaScript ';s . async=“true”;s.src=urldocument . getelementsbytagname(' head ')[0]。appendChild}//加载js文件脚本loadScript(' sleep . PHP ');load script(' demo . js ');在浏览器中加载:

图3-1下载阻塞加载事件

图3-2执行阻塞加载事件

图3-3 IE9解除负载阻塞事件

总结

异步和脚本动态加载在现代浏览器中是相同的。前者使用方便,后者兼容性更好。异步加载文件的方式有很多,比如ajax(会受到同源性的限制)、iFrame、img…

版权声明:异步和DOM脚本文件加载的比较是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。