2

我想知道这两种不同的 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'));

任何真正的区别或好处一个与其他?

4

1 回答 1

2

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

http://ejohn.org/apps/fragment

于 2014-05-20T13:17:29.870 回答