加载外部JavaScript文件 [英] Load External JavaScript File

查看:103
本文介绍了加载外部JavaScript文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to load an external javascript file from within javascript but I cannot seem to get it to work. Am I doing something wrong?

我工作的示例文件

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函数中添加一个回调参数:

Perhaps you are trying to access the jQuery API before it is fully loaded. You can add a callback parameter to the loadJs function like this:

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>');
});

测试铬,FF,ie8。小提琴: http://jsfiddle.net/Umwbx/2/

Tested in chrome, FF, ie8. Fiddle: http://jsfiddle.net/Umwbx/2/

这篇关于加载外部JavaScript文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆