Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите доработать скрипт lazyload javascript! 
:(
    Опции темы
Kotakota
Дата 12.7.2011, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 14.12.2010

Репутация: нет
Всего: нет



Привет.
Все никак не могу заставить функцию require, вызывать саму себя, чтобы она поглотила следующий файл для lazyload-загрузки из переменной file
Сделать пытаюсь с помощью arguments.callee (переменная loader).
Пишет ошибку: too much recursion
Код

var PROJECT=(function(){
    function require(config) {
        config.file = [].concat(config.file);
        config.callback = [].concat(config.callback);
        
        var
            cacheable = config.cacheable || false,
            path = config.path || '',
            file = path + config.file.shift(),
            loader = arguments.callee
                                
        
            var script = document.createElement('script');
            script.type = 'text/javascript';
            script.async = true;
            script.src = file;
            script.onload = callback();
            script.onreadystatechange = function () {
                if (this.readyState == 'complete' || this.readyState == 'loaded') {
            callback();
            }
                };
        
                
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(script, s);
    
    function callback() {

        while( config.callback.length ){
            config.callback.shift()();
                }

                
        } // function callback()
      loader(config) 
    } // function require()


        require(
        {
           file: [
                  'test.js',
                  'test2.js'                  
            ],
           callback: function(){
               alert('work!')
                },
          cacheable: true    
        });

})();


Еще ОЧЕНЬ хочется услышать советы, как можно доработать этот lazyload?!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.