Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подгрузка js. проблемы с onreadystatechange (https://javascript.ru/forum/misc/8217-podgruzka-js-problemy-s-onreadystatechange.html)

mexoboy 15.03.2010 13:26

Подгрузка js. проблемы с onreadystatechange
 
Не стандартная ситуация... Есть некий интерфейс, который работает на локальной машине без http сервера. Необходимо иметь возможность по требованию подгружать огромные json объекты (порядка 1 мб).
Создаю элемент script и добавляю его в head. Везде, кроме ie не видно смены readyState.

Отсюда вопрос, как можно кроусбраузерно определить загрузку скрипта на локальной машине?

Забыл сказать, что все отлично работает, если файлы тянуться с http сервера :/

mexoboy 15.03.2010 15:40

Поковырялся и вот что получилось. Вроде кроусбраузерно =) :
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.