Помогите доработать скрипт lazyload javascript file
Привет.
Все никак не могу заставить функцию 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?! |
Часовой пояс GMT +3, время: 21:15. |