The best way to load external JavaScript

javascript Add comments

作者说的最好的加载JS方法,即是如何无阻塞的加载JS,作者提到了三个技巧

  1. 创建两个JS文件, 第一个只包含动态加载JS的必要代码,第二个包含除必要的一些初始化的所有内容;
  2. 创建加载第一个JS文件的<script>标签,并把它放在页面的最底端,</body>标签里面;
  3. 创建第二个<script>标签,加载第二个JS文件和运行附加的初始化代码。


作者还提供了一个例子,这是第一个JS文件的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function loadScript(url, callback){
 
    var script = document.createElement("script")
    script.type = "text/javascript";
 
    if (script.readyState){  //IE
        script.onreadystatechange = function(){
            if (script.readyState == "loaded" ||
                    script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
            }
        };
    } else {  //Others
        script.onload = function(){
            callback();
        };
    }
 
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}

页面上的调用

1
2
3
4
5
6
7
8
9
10
11
<body>
 
.. something
 
<script type="text/javascript" src="http://your.cdn.com/first.js"></script>
<script type="text/javascript">
loadScript("http://your.cdn.com/second.js", function(){
    //initialization code
});
</script>
</body>

如果要加载多个文件的,可以考虑把文件合在一起,作者提到了几个这种合并工具,编译时的 Sprockets和两个运行时的 mod_concatcombo handler

Links: The best way to load external JavaScript

  • Share/Bookmark

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Leave a Reply


WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in