javascript - 加载外部 JavaScript 文件

标签 javascript

我正在尝试从 javascript 中加载外部 javascript 文件,但我似乎无法让它工作。我做错了什么吗?

sample file我的工作

function loadJs() {
var fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript")
fileref.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js")
document.body.appendChild(fileref); }

最佳答案

也许您正在尝试在 jQuery API 完全加载之前访问它。您可以向 loadJs 函数添加回调参数,如下所示:

function loadJs(src, callback) {
    var s = document.createElement('script');
    document.getElementsByTagName('head')[0].appendChild(s);
    s.onload = function() {
        //callback if existent.
        if (typeof callback == "function") callback();
        callback = null;
    }
    s.onreadystatechange = function() {
        if (s.readyState == 4 || s.readyState == "complete") {
            if (typeof callback == "function") callback();
            callback = null; // Wipe callback, to prevent multiple calls.
        }
    }
    s.src = src;
}

loadJs('https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', function() {
    $('body').append('<p>It works!</p>');
});

在 chrome、FF、ie8 中测试。 fiddle :http://jsfiddle.net/Umwbx/2/

关于javascript - 加载外部 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8631400/

相关文章:

javascript - 在内存中编译 Webpack 但解析为磁盘上的 node_modules

javascript - 根据 WordPress 页面中的第一个下拉列表填充第二个下拉列表

asp.net - iframe 的 onload 事件未在 firefox 中触发(与 ASP.NET 文件上传相关)

javascript - 如何使用 chart.js 在饼图中动态显示标签和标签值?

javascript - 如果我没有将所有参数传递给方法,有什么方法可以让 eslint 警告我?

javascript - 如何让这个 cookie 横幅发挥作用?

Javascript Ajax 优雅降级,具有不同的页面?

javascript - 如何在 ionic 3 Angular 4 返回时停止重新加载页面

javascript - TypeError : php. cgi 不是一个函数?

javascript - 对内部文档 mongodb 进行排序的 mapreduce