Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2015, 12:39
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Подключить скрипт
Здравствуйте. Подскажите как подключить скрипт в отдельном блоке.
<div id="tab"></div>
т.е если id="tab" то <script src=""></script>
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2015, 13:25
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Пробую так
if ($("div").attr("id")='tab'){$(this).load('<script  src="/templates/<?php echo TEMPLATE; ?>/js/canvas.literal.js"></script>')}

но что то не работает?
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2015, 13:34
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Одну ошибку нашёл,понял что так возвращает первый див.поправил так
if ($("div[id='tab']")){$(this).load('<script src="/templates/<?php echo TEMPLATE; ?>/js/canvas.literal.js"></script>')}
но пока не работает.
Ответить с цитированием
  #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 загружен и готов к работе');
    }
};
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2015, 08:42
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

СпасибоPoznakomlus, но что то у меня не хочет выполняться условие
if(document.getElementById('tab').length)
,возможно это связанно с особенностями html кода.Не знаю.Пробовал с классами,т.е дописывал в див класс и заменял getElementById на getElementByClassName, но с классом вообще работает как буд то if нет,т.е. выполняется во всех блоках.Так же пробовал повесить обработчик
$('#tab').on('click', function(event) {
вместо
document.getElementsById('tab').length
,но фокус не удался.
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2015, 09:01
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Добился, что по клику скрипт подгружается, но возможно он так и остаётся загруженным и поэтому продолжает выполняться в других блоках?
Ответить с цитированием
  #7 (permalink)  
Старый 12.12.2015, 09:08
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Да, так и есть.Если я перезагружаю страницу и кликаю на другой блок, то скрипт не грузится,а при клике на нужный скрипт подгружается и остаётся.Как это поправить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удается подключить javascript-код из отдельного файла Mack Events/DOM/Window 1 07.03.2015 17:05
PHP/AJAX скрипт "Нaселение мoегo гoрoдa oнлaйн" rustik-yes Работа 2 01.12.2014 22:53
Подключить скрипт скриптом Batska Общие вопросы Javascript 1 05.04.2014 23:53
Как подключить скрипт по условию RTEagle Общие вопросы Javascript 3 15.05.2013 13:43
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56