Показать сообщение отдельно
  #4 (permalink)  
Старый 11.12.2015, 13:50
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Можно так
var loader = (function (src, callback) {
    var doc = window.document, cache = {};
    return function (src, callback) {
        if (cache.hasOwnProperty(src)) {
            callback && (callback());
        } else {
            var el = doc.createElement('script'), loaded = 0;
            el.src = src, doc.body.appendChild(el), cache[src] = 1;
            if (callback) {
                el.onload = el.onreadystatechange = function () {
                    if ((el.readyState && el.readyState !== 'complete' && el.readyState !== 'loaded') || loaded)
                        return false;
                    el.onload = el.onreadystatechange = null, loaded = 1, callback();
                };
            }
        }
    };
}());
window.onload = function(){
    if(document.getElementById('tab').length){
        loader('test1.js', callback); // с функцией обратного вызова 
        //loader('test1.js'); // можно и так
    }
    function callback() {
        alert('Скрипт test1.js загружен и готов к работе');
    }
};
Ответить с цитированием