假设这两种方法都能正确加载脚本,并且我在使用脚本(和/或使用回调)之前等待了适当的时间,那么这些方法之间的主要区别是什么。
注意:我知道第一个使用 jQuery(这是一个更大的下载等)。我真正感兴趣的是这些方法的后续影响。一个人将脚本放在与另一个不同的范围内吗?等等
jQuery:
function loadScript() {
$.getScript('http://www.mydomain/myscript.js');
}
附加到正文:
function loadScript() {
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'http://www.mydomain/myscript.js';
script.async = true;
document.body.appendChild(script);
}
附加到头部:
function loadScript() {
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'http://www.mydomain/myscript.js';
script.async = true;
head.appendChild(script);
}
最佳答案
jQuery 将 script
元素附加到 head
(如果存在),否则附加到 document
元素。引擎盖下the code is similar .最终结果将是相同的:两种方法都在全局范围内执行新代码。
关于javascript - jQuery getScript() 与 document.createElement ('script' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791279/