Використання об’єктів navigator a
У розділі є такі розділи:
Ієрархія об'єктів Navigator'а
Малюнок 11.1 Ієрархія об'єктів Navigator'а
У цій ієрархії "нащадки" об'єктів є їх властивостями. Наприклад, форма form1 є об'єктом, а також властивістю об'єкта document. і до неї звертаються document.form1.
На кожній сторінці є такі об'єкти:
- navigator. має властивості - ім'я і версію використовуваного Navigator'а, MIME-типи, які підтримуються клієнтом і plug-in'и, встановлені на клієнті.
- window. об'єкт верхнього рівня / top-level; має властивості, які застосовуються до всього вікна. Кожне "дочірнє вікно" в документі з фреймів також є window Об'єктив.
- document. має властивості на основі вмісту документа, такого як заголовок, колір фону, гіперпосилання і форми.
- location. має властивості на основі поточного URL.
- history. має властивості, що представляють URL'и, які клієнт запитував раніше.
Залежно від вмісту, документ може містити і інші об'єкти. Наприклад, кожна форма (певна тегом FORM) в документі має відповідний об'єкт Form.
Для звернення до конкретних властивостях Ви зобов'язані уточняти імена об'єкта і всіх його предків. Зазвичай об'єкт отримує ім'я в атрибуті NAME відповідного HTML-тега. Додаткову інформацію та приклад див. У Розділі 12 "Використання Вікон і фреймів".
Наприклад, наступний код звертається до властивості value текстового поля text1 на формі myform в поточному документі:
Якщо об'єкт знаходиться на формі, Ви зобов'язані включати ім'я форми при зверненні до цього об'єкта, навіть якщо об'єкт не зобов'язаний бути на формі. Наприклад, зображення не повинні бути присутніми на формі. Наступний код звертається до зображення, що знаходиться на формі:
Наступний код звертається до зображення, яка не перебуває на формі:
Властивості документа: приклад
Властивості об'єкта document залежать від вмісту. Тобто вони створюються на основі HTML документа. Наприклад, document має властивості для кожної форми і кожного якоря / anchor документа.
Припустимо, Ви створюєте сторінку simple.html. яка містить наступний HTML:
На основі цього HTML базові об'єкти можуть мати властивості на зразок тих, які показані в таблиці.
Таблиця 11.1 Приклад значень властивостей об'єктів
Зверніть увагу, що значення властивості document.title відображає значення, специфіковану тегом TITLE. Значення властивостей document.fgColor (колір тексту) і document.bgColor (колір фону) були встановлені в HTML, тому вони базуються на значеннях за замовчуванням, специфіковані в діалоговому вікні Preferences (в меню Edit Navigator'а).
Оскільки в документі є форма, є також об'єкт Form під назвою myform (на основі атрибута NAME форми), який має дочірні об'єкти для checkbox і для button. Кожен з цих об'єктів має ім'я на основі атрибута NAME тега HTML, що визначає цей об'єкт:
- document.myform - форма
- document.myform.Check1 - checkbox / перемикач
- document.myform.button1 - button / кнопка
Form-об'єкт myform має інші властивості на основі атрибутів тега FORM. наприклад,
Об'єкт Form має дочірні об'єкти button1 і text1. відповідні кнопці і текстового поля на формі. Ці об'єкти мають свої власні властивості на основі значень своїх HTML-атрибутів, наприклад,
- button1.value має значення "Press Me"
- button1.name має значення "Button1"
- text1.value має значення "blahblah"
- text1.name має значення "text1"
Ви звертаєтеся до цих властивостей, використовуючи з повне іменування, наприклад, document.myform.button1.value. Це повне ім'я, засноване на ієрархії об'єктів Navigator'а, починається з document. потім йде ім'я форми, myform. потім - ім'я елемента, button1. і, нарешті, ім'я властивості.
Однак, якщо Ви спробуєте зробити це до того як форма визначена, (вище визначення форми на HTML-сторінці), Ви можете отримати помилку, оскільки об'єкт поки ще не існує в Navigator'е.
Аналогічно, якщо висновок відбувся, установка значення властивості не впливає на значення або вид документа. Наприклад, Ви визначили заголовок документа:
З цього правила є кілька важливих винятків: Ви можете динамічно оновлювати значення елементів. Наприклад, наступний скрипт визначає текстове поле, яке спочатку виводить рядок "Starting Value." При кожному натисканні на кнопку Ви додаєте текст ". Updated!" до цього значення.
Це простий приклад оновлення елемента форми після завершення виведення документа.
Використовуючи обробники подій, Ви можете також змінювати деякі інші властивості після завершення виведення документа, такі як document.bgColor.
Ключові об'єкти Navigator'а
Об'єкти window і Frame
Об'єкт window має кілька широко використовуваних методів, в тому числі:
window має також кілька властивостей, які можуть встановлюються Вами, таких як location і status.
Ви можете встановити location для переходу клієнта до іншого URL. Наприклад, наступний оператор перенаправляє клієнт на домашню сторінку Netscape, як якщо б користувач клацнув по посиланню або як-небудь інакше завантажив URL:
Властивість status можна використовувати для показу повідомлення в статусному рядку / status bar внизу клієнтського вікна; додатково див. "Використання Статусною Рядки".
об'єкт document
Кожна сторінка має єдиний об'єкт document.
Оскільки його методи write і writeln генерують HTML, об'єкт document є одним з найбільш використовуваних об'єктів Navigator'а. Про методи write і writeln см. Розділ "Використання Методу write".
Об'єкт document має кілька властивостей, що відображають колір фону, тексту і гіперпосилань сторінки: bgColor. fgColor. linkColor. alinkColor і vlinkColor. Часто використовуються lastModified. дата останнього зміни сторінки, referrer. попередній URL, відвіданих клієнтом, і URL. URL документа. Властивість cookie дає можливість встановлювати і отримувати значення кук; см. також "Використання Кук".
Об'єкт document є предком всіх об'єктів Anchor. Applet. Area. Form. Image. Layer. Link і Plugin сторінки.
об'єкт Form
Кожна форма документа створює об'єкт Form. Оскільки в документі може бути не одна форма, Form -об'єкти зберігаються в масиві forms. Перша форма (сама верхня на сторінці) це forms [0]. друга - forms [1]. і так далі. Крім звернення до формі на ім'я, Ви можете звернутися до першої (наприклад) формі так:
Інші елементи форми, такі як текстові поля, радіо-кнопки і т.д. зберігаються в масиві elements. Ви можете звернутися до першого елементу (незалежно від його виду) першої форми так:
Кожен елемент форми має властивість form. яке є посиланням на батьківську форму елемента. Ця властивість використовується в основному в обробниках подій, де може знадобитися звернутися до іншого елементу на поточній формі. У наступному прикладі форма myForm містить Text-об'єкт і кнопку. Якщо користувач клацає по кнопці, значенням Text-об'єкт стає ім'я форми. Оброблювач onClick кнопки використовує this.form для звернення до батьківської формі, myForm.
об'єкт location
Об'єкт location має властивості на основі поточного URL. Наприклад, властивість hostname це сервер і ім'я домену сервера - хоста поточного документа.
Об'єкт location має два методи:
- reload - форсує перезавантаження поточного документа вікна.
- replace - завантажує специфікований URL поверх поточного входження списку history.
об'єкт history
Об'єкт history містить список рядків, що представляють URL'и, відвідані клієнтом. Ви можете отримати поточний, попередній і наступний збіг з history через використання властивостей current. next і previous об'єкта history. Ви отримати доступ до інших значень в history, використовуючи масив history. Цей масив містить входження для кожного входження history в порядку вихідного коду; кожне входження масиву це рядок, що містить URL.
Можна також перенаправити клієнт до будь-якого входження списку history методом go. Наприклад, наступний код завантажує URL, що знаходиться на дві позиції назад в списку history клієнта.
Наступний код перезавантажує поточну сторінку:
Список history відображається в меню Go Navigator'а.
об'єкт navigator
Об'єкт navigator містить інформацію про версію використовуваного Navigator'а. Наприклад, властивість appName специфицирует ім'я браузера, а властивість appVersion специфицирует версію Navigator'а.
Об'єкт navigator має три методи:
Масиви об'єктів Navigator'а
Деякі об'єкти Navigator'а мають властивості, значення яких є масивами. Ці масиви використовуються для зберігання інформації, коли Ви заздалегідь не знаєте, скільки буде значень. У таблиці показано, які властивості яких об'єктів мають масиви в якості значень.
Відображає входження history вікна.
Ви можете індексувати порядковими числами або по іменах (якщо визначені). Наприклад, якщо другий тег