Подключить скрипт
Здравствуйте. Подскажите как подключить скрипт в отдельном блоке.
<div id="tab"></div> т.е если id="tab" то <script src=""></script> |
Пробую так
if ($("div").attr("id")='tab'){$(this).load('<script src="/templates/<?php echo TEMPLATE; ?>/js/canvas.literal.js"></script>')}
но что то не работает? |
Одну ошибку нашёл,понял что так возвращает первый див.поправил так
if ($("div[id='tab']")){$(this).load('<script src="/templates/<?php echo TEMPLATE; ?>/js/canvas.literal.js"></script>')} но пока не работает. |
Можно так
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 загружен и готов к работе');
}
};
|
СпасибоPoznakomlus, но что то у меня не хочет выполняться условие
if(document.getElementById('tab').length)
,возможно это связанно с особенностями html кода.Не знаю.Пробовал с классами,т.е дописывал в див класс и заменял getElementById на getElementByClassName, но с классом вообще работает как буд то if нет,т.е. выполняется во всех блоках.Так же пробовал повесить обработчик
$('#tab').on('click', function(event) {
вместо
document.getElementsById('tab').length
,но фокус не удался. |
Добился, что по клику скрипт подгружается, но возможно он так и остаётся загруженным и поэтому продолжает выполняться в других блоках?
|
Да, так и есть.Если я перезагружаю страницу и кликаю на другой блок, то скрипт не грузится,а при клике на нужный скрипт подгружается и остаётся.Как это поправить?
|
| Часовой пояс GMT +3, время: 08:14. |