Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Большой js в IE6


Автор: dead_psh 14.11.2008, 17:14
Собсно вопрос!
Есть большой скрипт js в отдельном файле. Порядка 10000 строк (220755 bytes)
На самой странице есть скрипт, использующий объекты из большого.
Появилась проблема IE6, страницы грузятся через раз. На 10 открытий 3 раза - ошибка. Ошибка про то что нельзя создать объект из внешнего js.

Есть подозрение, что скрипт на странице начинает выполняться раньше, чем загрузится большой js.

Идеи?...

Автор: ksnk 14.11.2008, 17:27
dead_psh, Файл не такой уж и большой. extjs больше smile

-- Есть способы сокращения размера - упаковщики  packer и yuicompressor. У packer'а свои представления о синтаксисе JS, но пакует он лучше. yuicompressor - более корректен, однако пакует чуть хуже. Впрочем, это - imho smile Реально можно сэкономить процентов 50-70 от размера кода.

-- можно стартовать инициализацию только при наличии определенных объектов
Код

<script>
function init(){
   if(!My_Object) { setTimeout(init,500) ; return ;}
   // собственно init...
}

<body onload="init()"...



Автор: Samotnik 15.11.2008, 01:15
Цитата(dead_psh @  14.11.2008,  16:14 Найти цитируемый пост)
Порядка 10000 строк

Это не много в моем проекте - это  немножко выше среднего. А если фреймворки не запакованные брать то там еще больше! 

Цитата(dead_psh @  14.11.2008,  16:14 Найти цитируемый пост)
Есть подозрение, что скрипт на странице начинает выполняться раньше, чем загрузится большой js.

а чего подозревать, зачем гадать ???   
Открывай FireBug    или   Http Analiser  (если в  ИЕ  тестиш)  и посматри  кто первый  загружается  smile   

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)