开发者社区> 问答> 正文

异步加载js的问题,为什么能异步加载

这是高性能js的一个例子,为什么没有设置async属性为true就能实现异步下载?

var script = document.createElement ("script");
script.type = "text/javascript";
script.src = "file1.js";
document.getElementsByTagName_r("head")[0].appendChild(script);]

展开
收起
小旋风柴进 2016-03-18 10:15:17 2168 0
1 条回答
写回答
取消 提交回答
  • 以下是一个监听页面加载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);
            }
        }
    
    2019-07-17 19:06:00
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载