我正在尝试动态加载 JS 脚本,但无法使用 jQuery。
我检查了 jQuery 源代码以了解如何 getScript已实现,以便我可以使用该方法使用 native JS 加载脚本。然而,getScript 只调用 jQuery.get()
而且我一直没能找到 get 方法的实现位置。
所以我的问题是,
使用 native JavaScript 实现我自己的 getScript 方法的可靠方法是什么?
谢谢!
最佳答案
这是一个具有回调功能的 jQuery getScript 替代方案:
function getScript(source, callback) {
var script = document.createElement('script');
var prior = document.getElementsByTagName('script')[0];
script.async = 1;
script.onload = script.onreadystatechange = function( _, isAbort ) {
if(isAbort || !script.readyState || /loaded|complete/.test(script.readyState) ) {
script.onload = script.onreadystatechange = null;
script = undefined;
if(!isAbort && callback) setTimeout(callback, 0);
}
};
script.src = source;
prior.parentNode.insertBefore(script, prior);
}
关于javascript - 原生 JavaScript 中的 jQuery.getScript 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16839698/