Квартиры, дома, земельные участки Краснодарского края без посредников. Объявления собственников недвижимости.
Реклама здесь
Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Реализация include scripts (подгрузки скриптов) на javascript

Как сделать следующую конструкцию:

js.include('http://htmlweb.ru/add_script.js');

Какие препятствия поджидают нас? Во-первых, инклюд должен полностью отрабатывать до начала выполнения кода.
Во-вторых, не исключены зависимости нескольких файлов от одного модуля и загружать его дважды совсем не хочется.
В-третьих, требуется какой-нибудь механизм загрузки файлов с сервера. Итак.

Будем использовать XHTTPRequest. Этот объект работает в двух режимах: асинхронном (когда указывается функция обратного вызова) и синхронном (запрос происходит непосредственно во время вызова xhttp.open()). Нам нужен второй: при этом код загрузится прямо на месте js.include. А дальше достаточно выполнить eval(xhttp.responseText):


<?php
// объявляем 
js = {};
js.loadedModules = {};

js.include = function(path) {
    if(
js.loadedModules[path]) return;

    var 
transport js.getXHTTPTransport();
    
transport.open('GET'path false);
    
transport.send(null);

    var 
code transport.responseText;
    eval(
code);
}
// используем
js.include('http://htmlweb.ru/add_script.js');
?>
Скопировать в буфер
Дополнительное оборудование для мониторинга транспорта бесплатное обнавление ПО.

© Copyright 2008-2012 by KDG