загрузка файлов js динамически через другой файл js? - PullRequest
7 голосов
/ 24 октября 2009
В любом случае

позволяет загружать другие файлы JS из одного файла JS. Я хотел бы указать JS-файл для отдельных страниц "ITS", и этот JS-файл будет загружать JQuery, другие JS-файлы.

Я знаю, что могу просто вставить все это в html, т.е.

Я думал о разделении проблем, поэтому мне было интересно, существует ли что-нибудь уже, если я не изобрету колесо заново ...

То, что мне просто нужно отредактировать home.js, чтобы изменить то, что другие js (jquery и т. Д.) Загружаются для home.htm ... home.htm просто указывает на home.js

Спасибо

Ответы [ 5 ]

15 голосов
/ 24 октября 2009

Вы можете взглянуть на динамическая загрузка скриптов . Вот выдержка из статьи:

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'helper.js';
head.appendChild(script);
3 голосов
/ 16 апреля 2010

Для внешнего домена JS ссылка

var loadJs = function(jsPath) { 
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', jsPath);
    document.getElementsByTagName('head')[0].appendChild(s);
};
loadJs('http://other.com/other.js'); 

Для той же ссылки JS домена (с использованием jQuery)

var getScript = function(jsPath, callback) {
    $.ajax({
        dataType:'script',
        async:false,
        cache:true,
        url:jsPath,
        success:function(response) {
            if (callback && typeof callback == 'function') callback();
        }
    });
};
getScript('js/other.js', function() { functionFromOther(); }); 
2 голосов
/ 03 декабря 2009

Я бы посоветовал вам взглянуть на labJS. Это библиотека, созданная специально для загрузки Javascript. Как говорится ... «Основная цель LABjs - быть универсальным загрузчиком JavaScript по требованию, способным загружать любой ресурс JavaScript из любого места на любую страницу в любое время».

См. домашнюю страницу labJS для получения дополнительной информации.

2 голосов
/ 25 октября 2009

Это похоже на решение Дарина, за исключением того, что оно не содержит никаких переменных.

document.getElementsByTagName('head')[0].appendChild(document.createElement("script")).src = "helper.js";
1 голос
/ 24 октября 2009

Google предлагает централизованно размещенные версии основных библиотек javascript, таких как jQuery. Они могут быть загружены динамически с помощью загрузчика Google.

http://code.google.com/apis/ajaxlibs/documentation/

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