Подгрузка 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, время: 06:39. |