Мне дали эту функцию для вставки внешних файлов javascript в рендеринг html:
function inject(src, cb, target){
target = target || document.body;
var s = document.createElement('SCRIPT');
s.charset = 'UTF-8';
if(typeof cb === 'function'){
s.onload = function(){
cb(s);
};
s.onreadystatechange = function () {
(/loaded|complete/).test(s.readyState) && cb(s);
};
}
s.src = src;
target.appendChild(s);
return s;
}
и это вызывающая функция:
$(function (){
inject(swifttagurlftlpre43sc,function(script){
var a = swifttagdiv.firstChild.attributes[2].value.substr(11);
var is = swifttagdiv.firstChild.firstChild.src;
var onLine = (is.substring(is.lastIndexOf('/') + 1) == 'staffonline.png');
if (onLine) {
$('#spanactive2').html('<span style="color: #567591;"><?php echo($content->getString('active')); ?><\/span>');
$('#chaton2').html('<img src="/site/img/chaton.gif" alt="" />');
$('#chat_box_timer').click(function() { eval(a); });
} else {
$('#live_chat_block_timer').remove();
$('#chaton2').html('<img src="/site/img/chatoff.png" alt="" />');
}
});
});
И он отлично работает на Firefox. Это не работает на Chrome, хотя. Инструменты разработчика дают мне эту ошибку:
Uncaught TypeError: Невозможно вызвать метод 'appendChild' с нулевым значением
Как мне исправить или хотя бы начать отлаживать это?