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

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

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

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

<b>var zaire = new Option(&quot;Zaire&quot;, // Свойство text </b>

<b>                       &quot;zaire&quot;, // Свойство value </b>

<b>                        false,  // Свойство defaultSelected </b>

<b>                        false); // Свойство selected</b>

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

<b>var countries = document.address.country; </b>

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

<b>countries.options[countries.options.length] = zaire;</b>

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

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

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

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

<b>Document</b>
.

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

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

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

<b>cookie</b>

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

<b>domain</b>

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

<b>lastModified</b>

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

<b>location</b>

Это свойство ссылается на тот же объект

<b>Location</b>
, что и свойство
<b>location</b>
объекта
<b>Window</b>
.

<b>referrer</b>

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

<b>title</b>

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

<b>&lt;title&gt;</b>
и
<b>&lt;/title&gt;</b>
данного документа.

<b>URL</b>

Свойство

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

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

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

<b>if (document.referrer.indexOf(&quot;</b><a href="http://www.google.com/search"><b>http://www.google.com/search</b></a><b>?&quot;) == 0) {</b>

<b>  var args = document.referrer.substring(ref.index0f(&quot;?&quot;)+1).split(&quot;&amp;&quot;);</b>

<b>  for(var і = 0; і &lt; args.length; i++) {</b>

<b>    if (args[і].substrings,2) == &quot;q=&quot;) {</b>

<b>      document.write(&quot;&lt;p&gt;flo6po пожаловать, пользователь Google. &quot;);</b>

<b>      document.write(&quot;Вы искали: &quot; +</b>

<b>            unescape(args[i]. substring^)). replace(' + ', ' ');</b>

<b>      break;</b>

<b>    }</b>

<b>  }</b>

<b>}</b>

Метод

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

15.10.2. Метод document.write()

Метод

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

Метод

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