Подгрузка js. проблемы с onreadystatechange
Не стандартная ситуация... Есть некий интерфейс, который работает на локальной машине без http сервера. Необходимо иметь возможность по требованию подгружать огромные json объекты (порядка 1 мб).
Создаю элемент script и добавляю его в head. Везде, кроме ie не видно смены readyState. Отсюда вопрос, как можно кроусбраузерно определить загрузку скрипта на локальной машине? Забыл сказать, что все отлично работает, если файлы тянуться с http сервера :/ |
Поковырялся и вот что получилось. Вроде кроусбраузерно =) :
function include(src, callback)
{
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
if(callback)
{
var userAgent = navigator.userAgent.toLowerCase();
if(/msie/.test( userAgent ) && !/opera/.test( userAgent ))
{
script.onreadystatechange = function()
{
if(script.readyState == 'complete')
callback();
}
}
else
{
script.onload = function ()
{
callback();
}
}
}
script.src = src;
head.appendChild(script);
}
|
| Часовой пояс GMT +3, время: 14:40. |