这是高性能js的一个例子,为什么没有设置async属性为true就能实现异步下载?
var script = document.createElement ("script");
script.type = "text/javascript";
script.src = "file1.js";
document.getElementsByTagName_r("head")[0].appendChild(script);]
以下是一个监听页面加载script的例子。页面通过load或者onreadystate这个方法来监听script是否加载完成,可以体会 一下这个方法。
_load: function (path, callback) {
try {
var script = document.createElement('script');
script.src = path;
script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);
if (script.addEventListener) {
script.addEventListener("load", callback, false);
} else if (script.attachEvent) {
script.attachEvent("onreadystatechange", function () {
if (script.readyState == 4 || script.readyState == 'complete' || script.readyState == 'loaded') {
callback();
}
});
}
} catch (e) {
console.log(e);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。