加载JS文件 - 直接加载到Document与DocumentFragment

时间:2014-05-19 18:12:13

标签: javascript ajax documentfragment

我想知道这两种不同的AJAX外部文件加载方法有什么好处或差异

示例1 - 直接将文件加载到文档中

(function () {
    var s = document.createElement('script'); 
    s.type = 'text/javascript'; 
    s.async = true; 
    s.src = '/myjs.js';
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
})();

示例2 - 将文件加载到documentFragment中,然后将片段添加到文档

(function(d, s) {
    var j, h = d.getElementsByTagName(s)[0],
        f = d.createDocumentFragment(),
        add = function(u, i) {
            if (d.getElementById(i)) {
                return;
            }
            j = d.createElement(s);
            j.src = u;
            i && (j.id = i);
            f.appendChild(j);
        };

    add('/myjs.js');
    h.parentNode.insertBefore(f, h);
}(document, 'script'));

与其他人有任何真正的差异或好处吗?

1 个答案:

答案 0 :(得分:1)

根据Josh Resig的说法,使用文档片段可以将您的应用程序加速2-3倍,他设置了一个演示,您可以在几毫秒内看到用完任务的时间。

http://ejohn.org/apps/fragment