JavaScript - нужна функция для загрузки внешних файлов JS - PullRequest
4 голосов
/ 26 ноября 2011

Недавно я добавил на свой веб-сайт кнопку «Мне нравится» на Facebook, кнопку «Твиттер» и «+1».Я хочу, чтобы их JS-скрипты загружались, когда я говорю им о загрузке.

Поэтому мне нужна функция, которая загружает внешние JS-файлы.Мне не нужно знать, когда файл закончил загружаться (обратный вызов не нужен).

Я нашел некоторые методы / функции в Интернете, но я хочу знать, какой из них лучше всего подойдет для этой ситуации.?

4 способа динамической загрузки внешнего JavaScript Динамическая загрузка библиотек JS и определение их загрузки Лучший способ загрузить внешний JavaScript

Спасибо.

Редактировать : Добавлены методы / функции, которые я нашел.

Ответы [ 4 ]

5 голосов
/ 26 ноября 2011

Я бы рекомендовал использовать jQuery getScript ().Для кнопки «твиттер» вы должны загрузить соответствующий скрипт следующим образом:

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

Конечно, сначала вам нужно будет загрузить jquery в свой скрипт и не забыть добавить разметка, необходимая для твиттер-кнопки в вашем html.

4 голосов
/ 26 ноября 2011

Это может быть полезно:

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);
}
1 голос
/ 26 ноября 2011

Что-то вроде

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

это

0 голосов
/ 26 ноября 2011

YUI Loader звучит как хороший выбор для вас. Это также позволит вам добавлять свои собственные пользовательские модули, чтобы вы могли загружать их по требованию, а также загружать все другие необходимые JS-файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...