Синхронизация фреймов. Серьезной проблемой при написании сценариев становится то, что включение сценариев в многофреймовый документ опасно и даже приводит к сбоям в Navigator 2. Такие сценарии полагаются на наличие документов во фреймах, однако, если фреймы предварительно не созданы, а их документы — не загружены, сценарии приведут или к ошибкам, или к сбою.
Один из способов обойти проблему заключается в запуске всех сценариев в обработчике события onLoad . Теоретически этот обработчик не запускается, если все документы не были успешно загружены во все фреймы набора. К сожалению, IE4+ для Windows содержит ошибку — событие onLoad запускается даже в том случае, если загрузка была прервана щелчком на кнопке Stop или нажатием клавиши < Esc >. В то же время необходимо проявить особую осторожность при задании обработчика события onLoad в документах отдельных фреймов. Если сценарий полагается на присутствие документа в другом фрейме (например сестринском), он, скорее всего, будет выполняться с ошибками. Все, начиная с низкопроизводительной сети или сервера и заканчивая ненадежным модемом, может привести к неверному порядку загрузки документов во фреймах.
Один из способов обойти проблемы — создать переменную логического типа в родительском документе, состояние которой отражает состояние необходимого фрейма. После загруз ки документа его обработчик события onLoad устанавливает флажок в значение true. Всякий сценарий, обрабатывающий содержимое фрейма, должен использовать оператор if для проверки значения этой переменной.
Несмотря на серьезную ошибку в IE4+/ Windows, описанную выше, лучше всего запрограммировать запуск всех сценариев по событию onLoad родительского документа. Зависимость от других фреймов — достаточно сложная проблема, однако чем старше версия браузера от Navigator 2, тем меньше риск. Например, начиная с Navigator 3, если пользователь изменяет размеры окна, документ не перезагружается полностью, как это происходило в браузере Navigator 2. Тем не менее, всегда следует проверять поведение страниц при изменении размеров окна и щелчке на кнопке Reload.