JavaScript - 需要加载外部JS文件的函数

时间:2011-11-26 12:46:56

标签: javascript

最近我添加到我的网站facebook像按钮,twitter跟随我们按钮和谷歌+1按钮。我希望他们的JS脚本在我告诉他们加载时加载。

因此,我需要一个加载外部JS文件的函数。我不需要知道何时加载文件(不需要回调)。

我在互联网上找到了一些方法/功能,但我想知道哪种方法/功能最适合这种情况?

4 ways to dynamically load external JavaScript
Dynamically loading JS libraries and detecting when they're loaded
The best way to load external JavaScript

感谢。

修改: 添加了我找到的方法/功能。

4 个答案:

答案 0 :(得分:5)

我建议使用jQuery的getScript()。对于twitter按钮,您将加载相应的脚本:

$.getScript("//platform.twitter.com/widgets.js")

当然,您必须首先在脚本中load jquery,不要忘记在html中添加markup needed for the twitter-button

答案 1 :(得分:4)

这可能会有所帮助:

function loadScript(url, callback){

    var script = document.createElement("script")
    script.type = "text/javascript";

    if (script.readyState){  //IE
        script.onreadystatechange = function(){
            if (script.readyState == "loaded" ||
                    script.readyState == "complete"){
                script.onreadystatechange = null;
                callback();
            }
        };
    } else {  //Others
        script.onload = function(){
            callback();
        };
    }

    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}

答案 2 :(得分:1)

这样的东西
function getScript(url) {
    e = document.createElement('script');
    e.src = url;
    document.body.appendChild(e);
}
getScript('jstoload.js');

此?

答案 3 :(得分:0)

YUI Loader听起来是个不错的选择。它还允许您添加自己的自定义模块,因此您可以按需加载,也可以加载所需的所有其他JS文件。