Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Помимо задания свойства

text
объектов
Option
имеются способы динамического изменения выводимых в элементе
Select
вариантов с помощью особых возможностей свойства
options
, которые ведут свое существование с самого начала появления поддержки клиентских сценариев. Можно обрезать массив элементов
Option
, установив свойство
options.length
равным требуемому количеству вариантов, или удалить все объекты
Option
, установив значение свойства
options.length
равным
нулю. Можно удалять отдельные объекты
Option
из элемента
Select
, присваивая элементам массива
options[]
значение null. В этом случае удаляются соответствующие объекты
Option
, а все элементы, расположенные в массиве
options[]
правее, автоматически сдвигаются влево, заполняя опустевшее место.

Чтобы добавить в элемент

Select
новый вариант, можно создать его с помощью конструктора
Option
и добавить в конец массива
options[],
как показано ниже:

// Создать новый объект Option

var zaire = new Option("Zaire", // Свойство text

"zaire", // Свойство value

false, // Свойство defaultSelected

false); // Свойство selected

// Отобразить вариант в элементе Select, добавив его в конец массива
options:

var countries = document.address.country;

// Получить объект Select

countries.options[countries.options.length] = zaire;

Имейте в виду, что эти специальные возможности элемента

Select
пришли к нам из прошлых времен. Вставку и удаление вариантов можно реализовать более очевидным способом, воспользовавшись стандартными методами
Document.createElement, Node.insertBefore, Node.removeChild
и другими.

15.10. Другие особенности документов

Эта глава начиналась с утверждения, что она является одной из наиболее важных в книге. Она также по необходимости оказалась одной из наиболее длинных. Этот раздел завершает главу описанием некоторых особенностей объекта

Document
.

15.10.1. Свойства объекта Document

В этой главе уже были представлены некоторые свойства объекта

Document
, такие как
body, documentElement
и
forms
, ссылающиеся на специальные элементы документа. Кроме них документы определяют еще несколько свойств, представляющих интерес:

cookie

Специальное свойство, позволяющее JavaScript-программам читать и писать cookie-файлы. Это свойство рассматривается в главе 20.

domain

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

lastModified

Строка, содержащая дату последнего изменения документа.

location

Это

свойство ссылается на тот же объект
Location
, что и свойство
location
объекта
Window
.

referrer

URL-адрес документа, содержащего ссылку (если таковая существует), которая привела броузер к текущему документу. Это свойство имеет то же значение, что и HTTP-заголовок Referer, но записывается с двумя буквами r.

title

Текст между тегами

<title>
и
</title>
данного документа.

URL

Свойство

URL
документа является строкой, доступной только для чтения, а не объектом
Location
. Значение этого свойства совпадает с начальным значением свойства
location.href
, но, в отличие от объекта
Location
, не является динамическим. Если пользователь выполнит переход, указав новый идентификатор фрагмента внутри документа, то свойство
location.href
изменится, а свойство
document.URL
– нет.

Из всех этих свойств наибольший интерес представляет свойство

referrer
: оно содержит URL-адрес документа, содержащего ссылку, которая привела пользователя к текущему документу. Это свойство можно было бы использовать, как показано ниже:

if (document.referrer.indexOf(" http://www.google.com/search ?") == 0) {

var args = document.referrer.substring(ref.index0f("?")+1).split("&");

for(var і = 0; і < args.length; i++) {

if (args[і].substrings,2) == "q=") {

document.write("flo6po пожаловать, пользователь Google. ");

document.write("Вы искали: " +

unescape(args[i]. substring^)). replace(' + ', ' ');

break;

}

}

}

Метод

document.write,
использованный в этом примере, является темой следующего раздела.

15.10.2. Метод document.write

Метод

document.write
был одним из первых методов, реализованных еще в вебброузере Netscape 2. Он появился еще до создания модели DOM и представлял единственный способ отображения динамически изменяемого текста в документе. В современных сценариях надобность в этом методе отпала, но вы наверняка встретите его в существующем программном коде.

Метод

document.write
объединяет свои строковые аргументы и вставляет получившуюся строку в документ, в точку вызова метода. По завершении выполнения сценария броузер выполнит синтаксический анализ сгенерированного вывода и отобразит его. Например, следующий фрагмент использует метод
write
для динамического вывода информации в статический HTML-документ:

<script>

document.write("3arоловок документа: " + document.title);

Поделиться с друзьями: