Книги, научные публикации Pages:     | 1 |   ...   | 4 | 5 | 6 | 7 | 8 |   ...   | 10 |

тм Ричард Вагнер, Вайк Исчерпывающее руководство об основном языке сценариев Своевременные для создания полнофункциональных Web-приложений Объектно-ориентированная Исследуется связь JavaScript с другими ...

-- [ Страница 6 ] --

можно использовать Оператор if проверяет правильность структуры другое свойство или идентифицирующую переменную:

фрейма (в данном случае Ч наличие трех фреймов), а top. title) также правильность документа во втором фрейме (на Объекты Frame Глава Использование расширенных схем регистрации Приведенный ниже пример демонстрирует простую схему регистрации документа. Первый фрагмент кода Более сложные схемы регистрируют не только доку мент, но также и позицию документа в иерархической содержит файл для установки верхнего фреймового окна:

структуре фреймов. Если позиция документа изменя расположения функций во фреймовой структуре. Она Следующий фрагмент кода показывает файл доку- определяет расположение фрейма, передавая его имя мента: (self.name) родительскому фрейму, который присоединя ет к этому имени свое собственное имя и передает да лее эту информацию родительскому фрейму. Процесс Harley не зная ее расположения, и передачи параметров в нее

Существенная выгода, которую дают фреймы, заключа Softtail Series") ) ется в возможности модификации документа во фрей // ме, не затрагивая при этом другой фрейм. Независимо // продолжить выполнение от того, обновляется ли фрейм с помощью ввода пользо else // документ не // выполнить альтернативные действия вателя в другом фрейме или модифицируется программ но, существует несколько методов для внесения измене ний в соответствующие фреймы. Эти методы могут использовать HTML (с некоторыми расширениями Netscape), JavaScript или комбинацию их обоих.

Использование DOM Часть III Ссылки верхнее окно. (Спецификатор фрагмента, #, без URL и Возможно, самой простой методикой обновления сле- якорного имени, или идентификатор фрагмента, ссы дует считать использование ссылок для изменения те- лается на текущий документ.) Переназначение свойств кущего фрейма (загружая новый документ). Для того ссылки href и target можно сделать более чтобы направить новый документ в другой ис- путем объединения операторов присваивания с услов пользуют дескриптор якоря, имеющий атрибут target, ным и другими операторами. В следующем примере при для которого можно определить значение имени фрей- использовании фреймов файл, устанавливающий фрей ма или относительное имя. Относительные слова (в мы, загружается в родительское окно;

если же фреймы Netscape они называются magic target names) соответству- не используются, в окно загружается главный документ:

ют относительным свойствам окна, обсуждавшимся ра <А нее. Относительные имена, применяющиеся для целе != 0 ). href вых ссылок, всегда начинаются с символа и всегда. ' > записываются в нижнем регистре. Эти имена Ч _top, _parent и Ч соответствуют свойствам окна top, Обратите внимание на кавычки;

обработчик собы parent и Однако, не существует имени тий должен быть заключен в кавычки (двойные или оди Следующий код представляет фреймы, в которых ночные).

ссылка в одном фрейме должна обновить другой фрейм:

Нет необходимости переназначать href и target для каждой динамической ссылки. В предыдущем примере атрибут target можно установить в Для нефреймовой версии и _top эквивален тны. Если пользователь имеет неподдерживающий фрей мы браузер, то атрибут target игнорируется. мог быть написан этот путь:

Файл содержит дополнительную инфор- ) мацию для установки фреймов в окне:

Дескриптор ссылки может стать довольно длинным и громоздким, поскольку к его обработчику событий добавляется все большее количество операторов. Для упрощения ссылки можно использовать вызов функции:

Для загрузки нового документа в frame2 с помощью ссылки в (в frame4) эту ссылку записывают theHref() Ч пользовательская функция, которая вы следующим образом:

числяет условие и возвращает соответствующее значение для свойства href. Точно также theTarget() возвращает Для загрузки документа в верхнее окно и очистки соответствующее значение для свойства target. Эти фун фреймов используют такую строку:

кции должны вернуть значение независимо от того, яв ляется ли вычисленное условие true или false;

только неподдерживающий JavaScript браузер использует зна чения по умолчанию, установленные с помощью атри Динамические ссылки бутов TARGET и HREF. В качестве нефреймового аль Поскольку ссылки в JavaScript являются объектами, а тернативного примера рассмотрим следующий код:

href и target Ч свойствами ссылок, можно создать дина мическую ссылку, присваивая другие значения href и function if( != 0 ) target:

a else a = return a;

f Для поддерживающих JavaScript браузеров документ загрузится в текущий фрейм;

если же JavaScript Аналогично можно создать Таким же образом используют функции для других ссылок на стра не поддерживается, то текущий документ загружается в Объекты Frame Глава передавая соответствующие URL и целевые име- Метод write() на в вызовы функций. Возможно также для большого Третий способ обновления фрейма состоит в примене количества ссылок одну-две универсаль- нии методов или writeln(). JavaScript может ди намически генерировать документ во фрейме:

ных функции.

Часто динамические связи не нужны. Как правило, страница загружается в текущий фрейм, либо ссылка Demo появляется в навигационном меню, которое не видимо в нефреймовой версии и всегда предназначается для определенного фрейма. Однако, в тех немногих случа ях, когда динамические ссылки необходимы, они ока зываются весьма эффективными. К тому же, поддержка фреймовой и нефреймовой версий Ч не единственный Файл html случай, где динамические ссылки бывают нужны;

эти ссыл ки можно устанавливать в любом случае, по желанию.

Файлом может быть любой файл, даже пу стой. Однако, во избежание ошибки "Document contains Свойство no data" ("Документ не содержит данных") в файл необ Другой способ обновления фрейма, который не обяза ходимо поместить, по крайней мере, пробел или символ тельно требует применения ссылок, связан с использо возврата каретки.

ванием свойства href объекта Location. Это свойство Динамически загружаемый фрейм может взаимодей можно также применять вместе с обработчиком событий ствовать с пользователем с помощью ссылок или форм:

кнопки формы или с функцией. Не путайте объект Location со свойством location документа. Ч свой ство только для чтения, однако можно записывать значе Demo ния в window.location.href. Следующие операторы экви- В дополнение к записи свойства href можно также записывать свойство pathname объекта Location, которое