Разве блоки Javascript не должны выполняться в том порядке, в котором они размещены на странице?
IE6, похоже, не следует этому правилу в некоторых ситуациях. Моя страница в основном выглядит так:
<html>
<head>
<title>Widget Sandbox</title>
<script type="text/javascript" src="http://domain2.com/script.js"></script>
</head>
<body>
<script type="text/javascript">
myObj.doSomething();
</script>
</body>
</html>
Эта страница размещена в одном домене, а скрипт вверху - во втором домене. Объект myObj
определен во внешнем сценарии и используется в блоке локального сценария. Время от времени блок скрипта в <body>
выполняется до того, как скрипт, на который есть ссылка в <head>
.
Вопрос трудно воспроизвести. Мне обычно повезет больше, если я продублирую вышеупомянутую страницу и добавлю ссылку на дубликат, и наоборот, и нажимаю ссылки, пока не получу ошибку
Ошибка будет "myObj undefined", за которой следует номер строки.
Кто-нибудь имеет представление о том, что я могу делать неправильно? Это происходит только в IE6. В противном случае скрипт отлично работает в IE6 95% времени.