javascript - 原生 JavaScript 中的 jQuery.getScript 替代方案

标签 javascript jquery getscript

我正在尝试动态加载 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/

相关文章:

JavaScript - 创建一些可用于为表格行提供替代样式的 CSS 类

javascript - 电话间隙应用程序 : Uncaught ReferenceError: require is not defined

javascript - 如何使用另一个 .js 文件中的函数?

jQuery Ajax 加载和 getScript

jquery - getscript 可以在 jquery noconflict 中运行导入的脚本吗?

javascript - CSS slider : trigger Animation with JavaScript (GreenSock)

javascript - react 重定向/路由器

javascript - 使用选择名称数组提交之前的 jquery 表单检查

javascript - 根据值输出更改背景颜色

php - POST 数据中未拾取附加元素