我想知道这两种不同的 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'));
两者之间有什么真正的区别或好处吗?
最佳答案
根据 Josh Resig 的说法,使用文档片段可以将您的应用程序速度提高 2-3 倍,他设置了一个演示,您可以在其中看到完成任务所用的时间(以毫秒为单位)。
关于javascript - 加载 JS 文件 - 直接加载到 Document 与 DocumentFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744472/