Використання об’єктів 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 вікна.

Ви можете індексувати порядковими числами або по іменах (якщо визначені). Наприклад, якщо другий тег

має в атрибуті NAME значення "myForm", Ви можете звернутися до форми document.forms [1]. або document.forms [ "myForm"] або document.myForm.

Наприклад, визначений наступний елемент:

Використання методу write

Метод write приймає будь-яку кількість строкових аргументів, які можуть бути строковими літералами або змінними. Ви можете також використовувати операцію конкатенації рядків (+) для створення одного рядка з декількох за допомогою оператора write.

У HEAD цього документа визначено дві функції:

  • bar. яка відображає горизонтальну лінію HTML, що має ширину, специфіковані аргументом функції.
  • output. яка відображає заголовок HTML того рівня, який специфікований першим аргументом, і текст параграфа, специфікований третім аргументом.

Потім в тезі BODY документа ці дві функції викликаються і дають на виході:

Наступний рядок створює висновок функції bar:

Зауважте, що у визначенні bar використані знаки одинарних лапок замість подвійних. Ви зобов'язані робити так при позначенні в лапках рядки всередині строкового літерала. Потім виклик bar з аргументом 25 виробляє висновок, еквівалентний наступного HTML:

write супутній метод writeln. який додає послідовність символів "новий рядок" (повернення каретки або повернення каретки + прогін рядки, в залежності від платформи) в кінець свого висновку. Оскільки HTML зазвичай ігнорує символи нового рядка, різниці між write і writeln немає, за винятком положення всередині таких тегів, як PRE.

Друк виведення

Якщо Ви роздруковуєте сторінку, яка містить шари / layers (Navigator 4.0 і пізніше), кожен шар друкується окремо на тій же сторінці. Наприклад, якщо три шари перекривають один одного в браузері, роздрукована сторінка показує кожен шар окремо.

При завантаженні цього URL браузер виведе:

Якщо вибрати Page Source з меню View, браузер виведе:

Якщо завантажити view-source: file: // c | /test.html. браузер виведе:

відображення виведення