Содержит информацию о текущем документе и предоставляет методы для отображения HTML-вывода пользователю.
JavaScript 1.1:
добавлен синтаксис JavaScript 1.2: добавлены свойства |
HTML-тэгом BODY
. Машина выполнения JavaScript создаёт объект document
для каждой HTML-страницы. Каждый объект window
имеет свойство
document
, значением которого является объект document
.
Для определения объекта document
используйте стандартный синтаксис HTML для тэга
BODY
с дополнением обработчиками событий JavaScript.
Обработчики событий onBlur
, onFocus
, onLoad
и onUnload
специфицируются в тэге BODY
, но реально
являются обработчиками событий объекта window
.
Вот обработчики событий объекта document
:
Документ HTML состоит из тэгов HEAD
и BODY
.
Тэг HEAD
содержит информацию о заголовке и базе документа (абсолютном
базовом URL, используемом для разрешения относительных URL-гиперссылок данного
документа). Тэг BODY
содержит тело документа,
которое определяется текущим URL. Всё тело документа (все остальные элементы HTML
данного документа) находится внутри тэгов BODY
.
Вы можете загружать новый документ, устанавливая свойство window.location
.
Вы можете очистить панель документа (и удалить текст, элементы формы и т.д., и они не будут больше отображаться) с помощью таких операторов:
document.close();
document.open();
document.write();
Можно опустить вызов document.open
, если
Вы пишете текст или
HTML, поскольку write
выполняет неявное открытие MIME-типа, если
поток документа закрывается.
Вы можете обращаться к якорям/anchors, формам/forms и
ссылкам/ links документа, используя массивы
anchors
, forms
и links
. Эти массивы
содержат вхождения для каждого якоря, формы или ссылки документа и являются
свойствами объекта document
.
Не используйте location
как свойство
объекта document
; используйте вместо него свойство document.URL
.
Свойство document.location
,
которое является синонимом свойства document.URL
, не рекомендуется
применять.
Свойство | Описание |
---|---|
| |
| |
| |
| |
| Создаёт объект
|
| |
| |
| |
| |
| |
| |
| |
| Создаёт объект
|
| |
| Строка, специфицирующая дату последнего изменения документа. |
| |
| |
| |
| |
| |
|
Создаёт объект
|
| |
| |
| |
|
Метод |
Описание
Устанавливает захват документом всех событий специфицированного типа.
|
Использует контекстуальный отбор по критериям специфицирования объекта
|
|
|
Устанавливает освобождение объектами window или document захваченных событий специфицированного типа.
Передаёт захваченное событие по иерархии нормальных событий.
Записывает одно или более выражений HTML в документ в специфицированном окне.
Записывает одно или более выражений HTML и символ новой строки в документ в специфицированном окне. |
---|
Помимо этого, данный объект наследует методы
watch
и unwatch
объекта
Object
.
Следующий пример создаёт два фрэйма, каждый с одним документом. Документ первого фрэйма содержит ссылки на якоря в документе второго фрэйма. Каждый документ определяет свой цвет.
doc0.html
, который определяет фрэймы, содержит следующий код:
<HTML>
<HEAD>
<TITLE>Document object example</TITLE>
</HEAD>
<FRAMESET COLS="30%,70%">
<FRAME SRC="doc1.html" NAME="frame1">
<FRAME SRC="doc2.html" NAME="frame2">
</FRAMESET>
</HTML>
doc1.html
, который определяет содержимое
первого фрэйма, содержит следующий код:
<HTML>
<SCRIPT>
</SCRIPT>
<BODY
BGCOLOR="antiquewhite"
TEXT="darkviolet"
LINK="fuchsia"
ALINK="forestgreen"
VLINK="navy">
<P><B>Some links</B>
<LI><A HREF="doc2.html#numbers" TARGET="frame2">Numbers</A>
<LI><A HREF="doc2.html#colors" TARGET="frame2">Colors</A>
<LI><A HREF="doc2.html#musicTypes" TARGET="frame2">Music types</A>
<LI><A HREF="doc2.html#countries" TARGET="frame2">Countries</A>
</BODY>
</HTML>
doc2.html
, который
определяет содержимое второго фрэйма, содержит следующий код:
<HTML>
<SCRIPT>
</SCRIPT>
<BODY
BGCOLOR="oldlace" onLoad="alert('Hello, World.')"
TEXT="navy">
<P><A NAME="numbers"><B>Some numbers</B></A>
<UL><LI>one
<LI>two
<LI>three
<LI>four</UL>
<P><A NAME="colors"><B>Some colors</B></A>
<UL><LI>red
<LI>orange
<LI>yellow
<LI>green</UL>
<P><A NAME="musicTypes"><B>Some music types</B></A>
<UL><LI>R&B
<LI>Jazz
<LI>Soul
<LI>Reggae</UL>
<P><A NAME="countries"><B>Some countries</B></A>
<UL><LI>Afghanistan
<LI>Brazil
<LI>Canada
<LI>Finland</UL>
</BODY>
</HTML>
Frame
,
window
Строка, специфицирующая цвет активной гиперссылки (после нажатия кнопки мыши, но до её отпускания).
Свойство
alinkColor
выражается как 16-ричный триплет RGB или как строковой
литерал (см. книгу Клиентский JavaScript.
Руководство.). Это свойство является отражением в JavaScript атрибута
ALINK
тэга BODY
.
Если Вы выводите цвет как 16-ричный триплет RGB, Вы обязаны использовать формат rrggbb
.
Например, 16-ричное значение RGB цвета salmon будет red=FA
, green=80
и blue=72
, так что RGB-триплет для salmon будет "FA8072"
.
В этом примере устанавливается цвет активной гиперссылки с использованием строкового литерала:
document.alinkColor="aqua"
Здесь устанавливается цвет активной ссылки aqua с использованием 16-ричного триплета:
document.alinkColor="00FFFF"
document.bgColor
,
document.fgColor
, document.linkColor
,
document.vlinkColor
Массив объектов, соответствующих именованным якорям в порядке размещения в исходном коде.
Вы можете обращаться к объектам Anchor
в Вашем коде, используя
массив anchors
.
Этот массив содержит вхождение для каждого тэга A
, имеющего атрибут NAME
;
это вхождения в порядке расположения в исходном коде документа. Например, если
документ содержит три именованных якоря со значениями атрибута
NAME
anchor1
, anchor2
и anchor3
,
Вы можете обратиться к этим якорям так:
document.anchors["anchor1"]
document.anchors["anchor2"]
document.anchors["anchor3"]
document.anchors[0]
document.anchors[1]
document.anchors[2]
Для получения количества якорей в документе используйте
свойство length
: document.anchors.length
. Если
документ содержит якоря, именованные в системном порядке натуральными числами,
Вы можете использовать массив anchors
и его свойство length
для проверки имени якоря перед его использованием в операциях типа установки location.hash
.
Массив объектов-аплетов в порядке их появления в исходном коде документа.
Вы можете обращаться к аплетам через использование массива applets
.
Этот массив содержит вхождения для каждого объекта
Applet
(тэг APPLET
) в документе; вхождения
соответствуют порядку появления аплетов в исходном коде страницы. Например, если
документ содержит три аплета со значениями атрибута NAME
app1
,
app2
и app3
, Вы можете обращаться к аплетам так:
document.applets["app1"]
document.applets["app2"]
document.applets["app3"]
document.applets[0]
document.applets[1]
document.applets[2]
Чтобы получить число аплетов в документе, используйте
свойство length
: document.applets.length
.
Строка, специфицирующая цвет фона документа.
Свойство bgColor
выражается как 16-ричный RGB-триплет или как
строковой литерал (см. книгу Клиентский JavaScript. Руководство).
Это свойство является отражением в JavaScript атрибута
BGCOLOR
тэга BODY
. По умолчанию значение этого
свойства устанавливается пользователем в диалоговом окне настроек.
Если Вы записываете цвет как 16-ричный RGB-триплет, Вы обязаны использовать
формат rrggbb
. Например, 16-ричные значения RGB для цвета salmon
будут red=FA
, green=80
и blue=72
, так что RGB-триплет для
salmon
будет "FA8072"
.
Здесь устанавливается цвет фона документа в aqua с использованием литерала:
document.bgColor="aqua"
А здесь - с использованием 16-ричного триплета:
document.bgColor="00FFFF"
document.alinkColor
,
document.fgColor
, document.linkColor
,
document.vlinkColor
Настраивает документ для отлова всех событий специфицированного типа.
captureEvents(eventType)
eventType |
Тип отлавливаемых событий. Допустимые типы перечислены в описании объекта |
Если окно с фрэймами должно отлавливать события на страницах, загружаемых с
разных серверов, Вам необходимо использовать window.captureEvents
в помеченном скрипте с предшествующим window.enableExternalCapture
.
Информацию и пример см. в статье window.enableExternalCapture
.
captureEvents
работает в паре с releaseEvents
,
routeEvent
и handleEvent
. О событиях см. дополнительно
Клиентский JavaScript. Руководство.
Создаёт объект Style
,
который может специфицировать стили тэгов HTML со специфическим атрибутом CLASS
.
document.classes.className.tagName
Используйте свойство classes
для специфицирования стиля тэгов HTML,
имеющих специфический атрибут
CLASS
. Например, Вы можете специфицировать, что цвет класса GreenBody
тэгов P
или BLOCKQUOTE
будет зелёным. См. в объекте
Style
описание стилевых свойств,
которые Вы можете специфицировать для classes
.
Если Вы используете свойство classes
внутри тэга STYLE
(а
не внутри тэга SCRIPT
), Вы можете по выбору опустить document
в синтаксисе classes
. Свойство classes
всегда
применяется к текущему объекту document
.
В этом примере в
зелёный устанавливается цвет всех тэгов, использующих атрибут GreenBody
CLASS
:
<STYLE TYPE="text/javascript">
classes.GreenBody.all.color="green"
</STYLE>
Заметьте, что Вы можете опустить указание объекта document внутри тэга STYLE
.
Внутри тэга
SCRIPT
Вы обязаны специфицировать объект document таким образом:
<SCRIPT LANGUAGE="JavaScript1.2">
document.classes.GreenBody.all.color="green"
</SCRIPT>
В этом примере текст, появляющийся внутри одного из следующих тэгов, будет иметь зелёный цвет:
<P CLASS="GreenBody">
<BLOCKQUOTE CLASS="GreenBody">
document.contextual
, document.ids
,
document.tags
, Style
Закрывает поток вывода и форсирует отображение данных, отправленных для вывода.
close()
Метод close
закрывает поток, открытый методом document.open
.
Если поток был открыт для отображения, метод close
форсирует
отображение содержимого потока.
Тэги стиля шрифта, такие как BIG
и CENTER
,
автоматически очищают поток вывода.
Метод close
также останавливает "метеорный
поток" в иконке Netscape
и отображает Document: Done в статусной строке браузера.
Следующая функция вызывает document.close
для закрытия потока, который был открыт методом document.open
.
Метод document.close
форсирует отображение в окне содержимого
потока.
function windowWriter1() {
var myString = "Hello, world!"
msgWindow.document.open()
msgWindow.document.write(myString + "<P>")
msgWindow.document.close()
}
document.open
,
document.write
, document.writeln
Использует контекстные критерии отбора для специфицирования объекта Style
,
который может устанавливать стиль отдельных тэгов HTML.
contextual(context1, ...[contextN,] affectedStyle)
context1, ...[contextN]> | Объекты |
affectedStyle |
Объект |
Метод
contextual
предоставляет точный контроль над специфицированием
стилей. Он даёт Вам возможность применять стиль к HTML-элементу, который
появляется в очень специфическом контексте. Например, Вы можете специфицировать,
что цвет текста внутри тэга EM
, который находится внутри тэга H1
,
будет голубым/blue.
Затем Вы можете уточнить выбор, специфицируя несколько
контекстов. Например,
Вы можете установить цвет любого тэга LI
с двумя или более
родительскими UL
, специфицировав
UL
для первых двух контекстов.
Пример 1. Здесь устанавливается голубой цвет текста
внутри любого тэга
EM
, появляющегося в H1
.
<STYLE TYPE="text/javascript">
contextual(document.tags.H1, document.tags.EM).color="blue";
</STYLE>
Обратите внимание, что можно опускать указание объекта document
внутри тэга STYLE
.
Внутри тэга SCRIPT
Вы обязаны специфицировать объект document таким
образом:
<SCRIPT LANGUAGE="JavaScript1.2">
document.contextual(document.tags.H1, document.tags.EM).color="blue";
</SCRIPT>
В этом примере текст в тэге EM
будет
голубым:
<H1 CLASS="Main">The following text is <EM>blue</EM></H1>
Пример 2. Этот пример устанавливает цвет
элемента LI
с двумя или более родительскими UL
в
красный.
<STYLE TYPE="text/javascript">
contextual(tags.UL, tags.UL, tags.LI).color="red";
</STYLE>
document.classes
, document.tags
,
Style
Строковое значение, представляющее все куки, ассоциированные с данным документом.
JavaScript 1.1. Это свойство по умолчанию разрушено. Об искажении/разрушении данных см. книгу Клиентский JavaScript. Руководство.
Кука это небольшой блок информации, сохраняемый web-браузером в файле cookies.txt
.
Используйте
string
-методы, такие как substring
, charAt
, indexOf
и lastIndexOf
, для определения значения, хранимого в куке. См. в
разделах
Приложение C, "Куки Netscape" полную
спецификацию синтаксиса кук.
Вы можете установить
свойство cookie
в любое время.
Компонент "expires="
в куки-файле
устанавливает срок окончания действия куки, так что она может существовать по
окончании текущей сессии браузера. Эта строка даты форматируется так:
Wdy, DD-Mon-YY HH:MM:SS GMT
Этот формат представляет следующие значения:
Wdy
- строка с полным названием дня недели.DD
- целое число - число месяца.Mon
- строка - трёхбуквенная аббревиатура названия месяца.YY
- целое число - последние две цифры года.HH
, MM
и SS
это двухсимвольные
представления часа, минут и секунд, соответственно.Например, верная дата окончания срока действия куки выглядит так:
expires=Wednesday, 09-Nov-99 23:12:40 GMT
Формат даты куки - тот же самый, что и у даты, возвращаемой методом toGMTString
,
со следующими исключениями:
Следующая функция использует свойство cookie
для записи напоминания пользователю приложения. Дата окончания работы куки
устанавливается в один день после даты напоминания.
function RecordReminder(time, expression) {
// Записывает куку в форме "@<T>=<E>" для отображения
// из <T> в миллисекундах,
// возвращаемых методом Date.getTime(), в кодированное выражение,
// <E> (кодировано с отсутствием символов пробелов, точки с запятой или запятой)
document.cookie = "@" + time + "=" + expression + ";"
// устанавливается время окончания работы куки в один день
// после дня напоминания
document.cookie += "expires=" + cookieDate(time + 24*60*60*1000)
// cookieDate это функция, которая форматирует дату
//в соответствии со спецификацией куки
}
Hidden
Специфицирует имя домена сервера, обслужившего документ.
JavaScript 1.1. Значение этого свойства по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
JavaScript 1.1.
Свойство domain
даёт скриптам возможность
совместно использовать свойства на нескольких серверах, когда разрушение данных
не включено. Если разрушение отключено, скрипт, запущенный в одном окне, может
читать свойства другого окна только тогда, когда оба окна получены от одного Web-сервера.
Но на больших Web-сайтах с несколькими серверами может понадобиться совместно
использовать свойства несколькими серверами. Например, скрипту на хосте
www.royalairways.com
может понадобиться использовать свойства
совместно со скриптом на хосте
search.royalairways.com
.
Если скрипты
на двух разных серверах изменяют свои свойства domain
таким
образом, что оба скрипта имеют одно имя домена, оба скрипта могут использовать
свойства совместно. Например, скрипт, загруженный с search.royalairways.com
может установить своё свойство
domain
в "royalairways.com"
. Скрипт с
www.royalairways.com
,
запущенный в другом окне, также может установить своё свойство domain
в "royalairways.com"
. Затем, поскольку оба скрипта имеют домен
"royalairways.com"
, они могут совместно использовать свойства, хотя
они и не происходят с одного сервера.
Вы можете
изменить domain
только с ограничениями. Сначала domain
содержит hostname Web-сервера, с которого документ был загружен. Вы можете
установить domain
только в доменном суффиксе самого домена.
Например,
скрипт с search.royalairways.com
не может установить свойство domain
в
"search.royalairways"
. А скрипт с IWantYourMoney.com
не может установить свой домен в "royalairways.com"
.
После изменения свойства domain
Вы не можете вернуть его обратно в
оригинальное значение. Например, если Вы изменяете domain
с
"search.royalairways.com"
на "royalairways.com"
, Вы не
можете восстановить его обратно в "search.royalairways.com"
.
Следующий оператор изменяет свойство domain
в "braveNewWorld.com"
.
Этот оператор верен только тогда, когда суффикс "braveNewWorld.com"
является суффиксом текущего домена, такого как
"www.braveNewWorld.com"
.
document.domain="braveNewWorld.com"
Массив, содержащий вхождения каждого объекта, встроенного в документ.
Вы можете обратиться к встроенным объектам (созданных тэгом
EMBED
) в Вашем коде, используя массив embeds
.
Этот массив содержит вхождение для каждого тэга EMBED
в документе в
порядке их появления. Например, если документ содержит три внедрённых объекта с
атрибутами NAME
e1
, e2
и e3
,
Вы можете обратиться к этим объектам так:
document.embeds["e1"]
document.embeds["e2"]
document.embeds["e3"]
document.embeds[0]
document.embeds[1]
document.embeds[2]
Для получения количества внедрённых объектов документа
используйте свойство
length
: document.embeds.length
.
Элементы в массиве embeds
могут иметь вызываемые public-функции,
если они обращаются к plug-in'у, который использует LiveConnect. См. информацию по LiveConnect
в книге Клиентский JavaScript.
Руководство.
Используйте элементы массива embeds
для
взаимодействия с plug-in, который отображает внедрённый объект. Если plug-in не
работает с Java, Вы не сможете ничего сделать с его элементом в массиве embeds
.
Поля и методы элементов массива
embeds
отличаются от plug-in'а к plug-in'у; см. документацию,
поставляемую изготовителем plug-in'а.
Если вы используете тэг EMBED
для генерирования вывода из
plug-in-приложения, Вы не создаёте объект Plugin
.
Следующий код вставляет аудио plug-in в документ:
<EMBED SRC="train.au" HEIGHT=50 WIDTH=250>
Plugin
Строка, специфицирующая цвет текста документа (foreground).
Свойство fgColor
выражается как 16-ричный триплет RGB или как
строковой литерал (см. книгу
Клиентский JavaScript.
Руководство.). Это свойство является отражением в JavaScript атрибута
TEXT
тэга BODY
. По умолчанию значение этого свойства
устанавливается пользователем в диалоговом окне настроек. Вы не можете
установить это свойство после того как HTML-источник отображён.
Если цвет выражается как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb
.
Например, 16-ричные RGB-значения для цвета salmon будут
red=FA
, green=80
и blue=72
, так что RGB-триплет
для
salmon
будет "FA8072"
.
Вы можете переопределить значение, установленное в свойстве fgColor
,
одним из следующих способов:
Имя формы.
Объект document
имеет отдельное свойство
для каждой формы документа. Имя этого свойства является значением атрибута NAME
формы. См. в
Hidden
информацию об объектах Form
.
Вы не можете добавить новые формы в документ, создав новые свойства, но можете
изменить форму, изменяя этот объект.
Массив вхождений всех форм документа.
JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Вы можете обратиться в Вашем коде к формам, использовав массив forms
(Вы
можете также использовать имя формы). Это массив содержит вхождение для каждого
объекта Form
(тэг
FORM
) документа; эти вхождения расположены в том же
порядке, что и в исходном коде. Например, если документ содержит три формы со
значениями атрибутов NAME
form1
,
form2
и form3
, Вы можете обратиться к объектам массива forms
так:
document.forms["form1
"]
document.forms["form2
"]
document.forms["form3
"]
document.forms[0]
document.forms[1]
document.forms[2]
Дополнительно объект document имеет отдельное свойство для каждой именованной формы, так что Вы можете обратиться к этим формам таким образом:
document.form1
document.form2
document.
form3
Например, Вы
можете обратиться к объекту
Text
с именем quantity
во второй форме:
document.forms[1].quantity
. Вы можете обратиться к свойству value
этого объекта
Text
: document.forms[1].quantity.value
.
Значение каждого элемента в массиве forms
это <object nameAttribute>
,
где nameAttribute
это атрибут NAME
формы.
Для получения количества форм документа используйте
свойство length
: document.forms.length
.
Возвращает строку, содержащую текст текущего выделения.
getSelection()
Этот метод работает только в текущем документе.
Вы не можете определить выбранные области в другом окне.
Если у Вас имеется форма со следующим кодом и Вы щёлкнули на кнопке, JavaScript отображает alert-диалог, содержащий текущий выделенный текст из окна, содержащего кнопку:
<INPUT TYPE="BUTTON" NAME="getstring"
VALUE="Show highlighted text (if any)"
onClick="alert('You have selected:\n'+document.getSelection());">
Вызывает обработчик для специфицированного события.
handleEvent(event)
event |
Имя события, для которого специфицированный объект имеет обработчик события. |
Об обработчиках событий см. книгу Клиентский JavaScript. Руководство.
document.width
Создаёт объект
Style
, который может специфицировать стиль отдельных тэгов HTML.
document.ids.idValue
idValue |
Нечувствительное к регистру значение атрибута |
Используйте свойство
ids
для специфицирования стиля любого тэга HTML, имеющего
специфический атрибут ID
. Например, Вы можете специфицировать, что
цвет NewTopic
ID
- зелёный. См. в объекте Style
описание стилевых свойств, которые Вы можете специфицировать для ids
.
Свойство ids
используется, когда Вам нужно предоставить исключение
для класса, определённого в свойстве
document.classes
.
Если Вы используете свойство
ids
внутри тэга STYLE
(вместо тэга SCRIPT
),
Вы можете по выбору исключить document
из синтаксиса ids
.
Свойство ids
всегда применяется к текущему объекту document
.
В этом примере атрибут Main CLASS
устанавливается в 18-point bold green,
но предоставляет исключение для тэгов, ID
которых - NewTopic
:
<STYLE TYPE="text/javascript">
classes.Main.all.color="green"
classes.Main.all.fontSize="18pt"
classes.Main.all.fontWeight="bold"
ids.NewTopic.color="blue"
</STYLE>
Заметьте, что Вы можете опустить
указание объекта document в тэге
STYLE
. В тэге SCRIPT
Вы обязаны специфицировать объект document
таким образом:
<SCRIPT LANGUAGE="JavaScript1.2">
document.classes.Main.all.color="green"
document.classes.Main.all.fontSize="18pt"
document.classes.Main.all.fontWeight="bold"
document.ids.NewTopic.color="blue"
</SCRIPT>
В этом примере текст, появляющийся в следующем тэге, будет жирным, зелёным и будет иметь размер 18 пунктов:
<H1 CLASS="Main">Green head</H1>
Но текст в этом тэге будет 18-point bold blue:
<H1 CLASS="Main" ID="NewTopic">Blue head</H1>
document.classes
, document.contextual
,
document.tags
, Style
Массив вхождений изображений в документе.
Вы можете обращаться к изображениям в документе,
используя массив images
. Этот массив содержит вхождение каждого
объекта Image
(тэг IMG
) документа; вхождения идут в порядке исходного кода.
Изображения, созданные конструктором
Image
, не включаются в массив images
. Например, если
документ содержит три изображения с атрибутами NAME
im1
,
im2
и im3
, Вы можете обращаться к этим объектам в
массиве images
таким образом:
document.images["im1
"]
document.images["im2
"]
document.images["im3
"]
document.images[0]
document.images[1]
document.images[2]
Для получения количества изображений в документе
используйте свойство
length
: document.images.length
.
Строка с датой последнего изменения документа.
JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство lastModified
происходит от даты шапки HTTP, высылаемой web-сервером. Серверы обычно
получают эту дату, проверяя дату изменения файла.
Дата последнего изменения не является необходимой частью шапки/header, и
некоторые серверы её не предоставляют. Если сервер не возвращает информацию о
дате последнего изменения, JavaScript получает 0, который отображается как January 1, 1970 GMT.
Следующий код проверяет дату, возвращаемую свойством lastModified
,
и выводит значение, соответствующее неизвестной дате.
lastmod = document.lastModified // получить строку с датой последнего изменения
lastmoddate = Date.parse(lastmod) // конвертировать модифицированную строку в дату
if(lastmoddate == 0){ // дата не известна (или January 1, 1970 GMT)
document.writeln("Lastmodified: Unknown")
} else {
document.writeln("LastModified: " + lastmod)
}
Здесь свойство lastModified
используется в тэге SCRIPT
в конце HTML-файла для отображения даты изменения страницы:
document.write("This page updated on " + document.lastModified)
Это массив, содержащий вхождение для каждого слоя документа.
Вы можете обращаться к слоям Вашего документа, используя массив layers
.
Этот массив содержит вхождение для каждого объекта Layer
(тэг LAYER
или
ILAYER
) документа; эти вхождения идут в порядке
расположения в исходном коде. Например, если документ содержит три слоя с
атрибутами NAME
layer1
,
layer2
и layer3
, Вы можете обратиться к этим объектам
в массиве layers
так:
document.layers["layer1"]
document.layers["layer2"]
document.layers["layer3"]
document.layers[0]
document.layers[1]
document.layers[2]
При доступе по целочисленному индексу массив элементов
идёт в порядке z-order спереди назад,
где 0 это самый нижний слой, а более высокие слои индексируются последующими
целыми числами. Индекс слоя - не тот же, что его свойство zIndex
, так
как второе не обязательно перечисляет слои последовательными целыми числами.
Смежные слои могут иметь одинаковые значения свойства zIndex
.
Вот правильные способы доступа к объектам слоёв:
document.layerName
document.layers[index]
document.layers["layerName"]
// пример использования свойства layers для доступа к вложенным слоям:
document.layers["parentlayer"].layers["childlayer"]
Элементы массива layers это JavaScript-объекты, которые не могут быть установлены операцией присвоения, хотя их свойства - могут. Например, оператор
document.layers[0]="music"
является неправильным (и игнорируется), так как он пытается изменить массив layers
.
Однако свойства объектов массива можно читать, а некоторые из них можно
записывать. Например, оператор
document.layers["suspect1"].left = 100;
является верным. Он устанавливает позицию слоя по горизонтали в 100. В следующем
примере цвет фона устанавливается в blue для слоя bluehouse
,
который вложен в слой houses
.
document.layers["houses"].layers["bluehouse"].bgColor="blue";
Для получения количества слоёв документа используйте
свойство length
: document.layers.length
.
Строка, специфицирующая цвет гиперссылок документа.
Свойство
linkColor
выражается как 16-ричный RGB-триплет или как строковой
литерал
(см. книгу Клиентский JavaScript.
Руководство). Это свойство является отражением в JavaScript атрибута
LINK
тэга BODY
. Значение по умолчанию этого свойства
устанавливается пользователем в диалоговом окне установок браузера. Вы не можете
установить это свойство после того как исходный код HTML отображён.
При выражении цвета как 16-ричного RGB-триплета Вы обязаны использовать формат rrggbb
.
Например, 16-ричные значения RGB для цвета salmon будут
red=FA
, green=80
и blue=72
, поэтому RGB-триплет
для salmon будет "FA8072"
.
Здесь цвет гиперссылок документа устанавливается в aqua с использованием строкового литерала:
document.linkColor="aqua"
А здесь - с использованием 16-ричного триплета:
document.linkColor="00FFFF"
document.alinkColor
, document.bgColor
,
document.fgColor
, document.vlinkColor
Массив объектов, соответствующий объектам Area
и Link
в порядке вхождения в исходном коде.
JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Вы можете обращаться
к объектам Area
и Link
в Вашем коде через
использование массива links
. Этот массив содержит вхождение для
каждого объекта Area
(тэг <AREA HREF="...">
) и Link
(<A HREF="...">
) документа в порядке появления в
исходном коде. Он также содержит ссылки, созданные методом link
.
Например, если в документе есть три ссылки, можно обратиться к ним так:
document.links[0]
document.links[1]
document.links[2]
Для получения общего количества ссылок в документе,
используйте свойство length
: document.links.length
.
Открывает поток для сбора вывода методов write
или
writeln
.
JavaScript 1.1:
добавлен параметр
|
open([mimeType, [replace]])
text/html
специфицирует документ,
содержащий ASCII-текст с форматированием HTML.text/plain
специфицирует документ, содержащий обычный ASCII-текст с
символами конца строки для разграничения отображаемых строк.image/gif
специфицирует документ, кодирующий байты, образующие GIF-шарку и пикселные
данные.image/jpeg
специфицирует документ, кодирующий байты, образующие JPEG-шапку
и пикселные данные.image/x-bitmap
специфицирует документ, кодирующий байты, образующие
битовую шапку и пикселные данные.plugIn
загружает специфицированный plug-in
и использует его как цель/назначение для методов write
и writeln
.
Например, "x-world/vrml"
загружает VR Scout
VRML plug-in с Chaco Communications, а "application/x-director"
загружает
Macromedia Shockwave plug-in. MIME-типы рlug-in'ов
верны только тогда, когда пользователь установил требуемое программное
обеспечение для
plug-in'а.Метод open
открывает поток для сбора вывода методов write
или writeln
.
Если
mimeType
это text
или image
, поток
открывается для вывода;
иначе поток открывается для plug-in'а. Если документ
существует в целевом окне,
метод open
очищает его.
Поток
закрывается путём использования метода
document.close
. Метод close
вызывает отображение
текста или изображений, которые были посланы для вывода. После использования document.close
вызовите document.open
ещё раз, если Вам нужно начать другой поток
вывода.
В JavaScript 1.1 или позднее document.open
или document.open("text/html")
очищает текущий документ, если он закончил загрузку. Поэтому этот тип вызова
open
записывает по умолчанию тэг <BASE HREF=>
,
так что Вы можете генерировать относительные URL на основе базы документа,
генерирующего скрипт.
Ключевое слово "replace"
вызывает повторное использование новым
документом вхождения в history, использованного предыдущим документом. Если Вы
специфицируете "replace"
при открытии документа,
размер истории/history не увеличивается, даже если Вы записали в окно и закрыли
его.
"replace"
обычно используется в окне,
в котором находится пустой документ или документ с URL "about:blank"
.
После специфицирования "replace"
метод write
обычно
генерирует HTML для окна, замещая вхождение в history для пустого URL. Будьте
внимательны при использовании генерируемого HTML в окне с пустым/blank URL. Если
Вы не специфицируете "replace"
, генерируемый HTML имеет своё
собственное вхождение в history, и пользователь может, нажав кнопку Back,
вернуться в пустой фрэйм.
После выполнения document.open("text/html","replace")
history.current
для целевого окна будет URL документа, который выполнил document.open
.
Пример 1. Здесь функция вызывает document.open
для открытия
потока перед использованием метода write
:
function windowWriter1() {
var myString = "Hello, world!"
msgWindow.document.open()
msgWindow.document.write("<P>" + myString)
msgWindow.document.close()
}
Пример 2. Эта функция вызывает document.open
с ключевым словом "replace"
для открытия потока перед
использованием методов write
. Код
HTML в методах write
записывается в msgWindow
, замещая
текущее вхождение в
history. Размер истории/history окна msgWindow
не увеличивается.
function windowWriter2() {
var myString = "Hello, world!"
msgWindow.document.open("text/html","replace")
msgWindow.document.write("<P>" + myString)
msgWindow.document.write("<P>history.length is " +
msgWindow.history.length)
msgWindow.document.close()
}
Следующий код создаёт окно msgWindow
и вызывает функцию:
msgWindow=window.open('','',
'toolbar=yes,scrollbars=yes,width=400,height=300')
windowWriter2()
Пример 3. Здесь функция probePlugIn
определяет, имеется ли у пользователя установленный Shockwave plug-in:
function probePlugIn(mimeType) {
var havePlugIn = false
var tiny = window.open("", "teensy", "width=1,height=1")
if (tiny != null) {
if (tiny.document.open(mimeType) != null)
havePlugIn = true
tiny.close()
}
return havePlugIn
}
var haveShockwavePlugIn = probePlugIn("application/x-director")
document.close
, document.write
,
document.writeln
,
Location.reload
,
Location.replace
Массив объектов,
соответствующих объектам
Plugin
в порядке расположения в
исходном коде.
Вы можете обращаться к объектам Plugin
в исходном коде, используя массив plugins
. Этот массив содержит
вхождение для каждого объекта
Plugin
документа в порядке
расположения в исходном коде. Например, если в документе имеются три plugin'а,
Вы можете обратиться к ним так:
document.plugins[0]
document.plugins[1]
document.plugins[2]
Специфицирует URL вызывающего документа, когда пользователь щёлкает по ссылке.
JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Когда пользователь
переходит к другому документу, щёлкая объект Link
в исходном
документе, свойство referrer
содержит URL исходного документа.
referrer
является пустым, если пользователь ввёл URL в окне Location
браузера и использовал какой-нибудь иной способ получения текущего URL. referrer
является пустым также, если сервер не предоставляет информации о переменной
окружения.
Здесь функция getReferrer
вызывается из документа назначения.
Она возвращает URL исходного документа.
function getReferrer() {
return document.referrer
}
Заставляет документ освободить захваченные события специфицированного типа, отсылая события объектам, следующим далее по иерархии событий.
ПРИМЕЧАНИЕ: Если целевым оригиналом события является окно, оно получает событие, даже если окно установлено для освобождения этого типа событий.
releaseEvents(eventType)
eventType |
releaseEvents
работает вместе с captureEvents
, routeEvent
и handleEvent
. О событиях см. дополнительно книгу Клиентский JavaScript.
Руководство.
Передаёт захваченное событие по нормальной иерархии событий.
routeEvent(event)
event |
Если субобъект (document или layer) также захватывает событие, событие пересылается этому объекту. Иначе оно высылается оригинальному целевому объекту.
routeEvent
работает вместе с captureEvents
, releaseEvents
и handleEvent
. О событиях см. дополнительно книгу Клиентский JavaScript.
Руководство.
Создаёт объект Style
, который может
специфицировать стили HTML-тэгов.
document.tags.tagName
tagName |
Нечувствительное у регистру имя любого тэга HTML, такого как |
Используйте свойство tags
для специфицирования стиля HTML-тэгов.
Например, Вы можете специфицировать, что цвет любого тэга H1
будет blue
и что выравнивание тэгов H1
или
H2
будет по центру. См. в объекте Style
описание свойств, которые Вы можете специфицировать для тэгов HTML.
Поскольку все элементы HTML наследуют от тэга BODY
, Вы можете
специфицировать стиль по умолчанию документа, установив стили тэга BODY
.
Если Вы используете свойство tags
внутри тэга STYLE
(а
не внутри тэга SCRIPT
), Вы можете по выбору опустить document
в синтаксисе
tags
. Свойство tags
всегда применяется к текущему
объекту
document
.
Пример 1. Цвет всех тэгов H1
устанавливается в blue:
<STYLE TYPE="text/javascript">
tags.H1.color="blue"
</STYLE>
Обратите внимание, что Вы можете опустить указание объекта document
в тэге STYLE
. Внутри тэга SCRIPT
Вы обязаны
специфицировать объект
document
таким образом:
<SCRIPT LANGUAGE="JavaScript1.2">
document.tags.H1.color="blue"
</SCRIPT>
Пример 2. Устанавливается универсальное левое поле документа:
document.tags.Body.marginLeft="20pt"
Поскольку все тэги HTML наследуют от BODY
, этот пример
устанавливает левое поле для всего документа в 20 пунктов.
document.classes
,
document.contextual
, document.ids
,
Style
Строка, представляющая название документа.
JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
Свойство title
является отражением значения, специфицируемого между начальным и конечным
тэгами TITLE
. Если документ не имеет названия/title, свойство title
будет null.
Здесь значение свойства title
присваивается переменной docTitle
:
var newWindow = window.open("http://home.netscape.com")
var docTitle = newWindow.document.title
Строка, специфицирующая полный URL документа.
JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.
URL
это свойство со строковым
значением, содержащее полный URL документа. Оно обычно совпадает с тем, что
установлено в свойстве window.location.href
при загрузке документа,
но перенаправление может изменить location.href
.
Выводится URL текущего документа:
document.write("The current URL is " + document.URL)
Location.href
Строка, специфицирующая цвет посещённых гиперссылок.
Свойство vlinkColor
выражается как 16-ричный RGB-триплет или как
строковой литерал (см. книгу Клиентский JavaScript.
Руководство). это свойство является отражением в JavaScript атрибута VLINK
тэга BODY
. Значение по умолчанию этого свойства устанавливается
пользователем в диалоге настроек браузера. Вы не можете установить это свойство
после того как исходный HTML отображён.
Если цвет выражается как 16-ричный триплет RGB, Вы обязаны использовать формат
rrggbb
. Например, 16-ричные RGB-значения для цвета salmon будут red=FA
,
green=80
и blue=72
, так что RGB-триплет для salmon
будет
"FA8072"
.
Здесь цвет посещённых ссылок устанавливается в aqua с использованием строкового литерала:
document.vlinkColor="aqua"
А здесь - с помощью 16-ричного триплета:
document.vlinkColor="00FFFF"
document.alinkColor
, document.bgColor
,
document.fgColor
, document.linkColor
document.height
Записывает одно или более выражений HTML в документ специфицированного окна.
document.write(expr1[, ...,exprN])
expr1, ... exprN |
Метод write
отображает любое количество выражений в документе окна.
Вы можете специфицировать любое выражение JavaScript методом write
,
включая числовые, строки или логические выражения.
Метод write
это такой же метод, что и writeln
, за
исключением того, что метод write
не присоединяет символ новой
строки в конец вывода.
Используйте метод write
внутри тэгов
SCRIPT
или в обработчиках событий. Обработчики событий выполняются
после закрытия оригинального документа, поэтому метод write
неявно
открывает новый документ с типом
mimeType
text/html
, если Вы не вызываете явно метод
document.open
в обработчике события.
Можно использовать метод write
для генерации HTML и кода JavaScript.
Однако разборщик
HTML читает генерируемый код так, как он написан, поэтому Вам может понадобиться
использовать escape-кодирование некоторых символов.
Например, следующий метод write
генерирует комментарий и записывает
его в окно window2
:
window2=window.open('','window2')
beginComment="\<!--"
endComment="--\>"
window2.document.write(beginComment)
window2.document.write(" Это текст комментария. ")
window2.document.write(endComment)
Печать, сохранение и просмотр сгенерированного HTML. В браузере Navigator 3.0 и позже пользователи могут печатать и сохранять генерируемый HTML, используя команды из меню File.
Если Вы используете Page Source из меню View в Navigator или View Frame Source после щелчка правой кнопкой мыши и открытия дополнительного меню, web-браузер отображает содержимое HTML-файла со сгенерированным HTML.
Если Вам нужно просмотреть исходный код HTML с кодом
скриптов, генерирующих
HTML (методами document.write
и
document.writeln
), не используйте пункты
меню Page Source или View Frame Source. Здесь нужно ввести view-source:
протокол.
Например, предположим, что файл file://c|/test.html
содержит такой текст:
<HTML>
<BODY>
Hello,
<SCRIPT>document.write(" there.")</SCRIPT>
</BODY>
</HTML>
Если загрузить этот URL в web-браузер, он отобразит:
Hello, there.
Если выбрать View Document Source, браузер отобразит:
<HTML>
<BODY>
Hello,
there.
</BODY>
</HTML>
Если загрузить view-source:file://c|/test.html
, браузер отобразит:
<HTML>
<BODY>
Hello,
<SCRIPT>document.write(" there.")</SCRIPT>
</BODY>
</HTML>
О специфицировании view-source:
protocol в
объекте location
см. объект
Location
.
Здесь метод write
принимает несколько
аргументов, в том числе строки, числа и переменную:
var mystery = "world"
// Выводится Hello world testing 123
msgWindow.document.write("Hello ", mystery, " testing ", 123)
В следующем примере метод write
принимает два аргумента. Первый -
это выражение присвоения, а второй - строковой литерал.
//Выводится Hello world...
msgWindow.document.write
(mystr = "Hello ", "world...")
В следующем примере
метод
write
принимает единственный аргумент, который является условным
выражением. Если значение переменной age
будет меньше 18, метод
выведет "Minor." Если значение age
будет больше или равно 18, метод
выведет "Adult."
msgWindow.document.write(status = (age >= 18) ? "Adult" : "Minor")
document.close
, document.open
,
document.writeln
Записывает одно или более выражений HTML в документ в специфицированном окне с последующим символом новой строки.
writeln(expr1[, ... exprN])
expr1, ... exprN |
Метод writeln
выводит любое количество выражений в документ окна.
Вы можете специфицировать любое выражение JavaScript, включая числа, строки или
логические выражения.
Метод writeln
это тот же метод, что и write
,
за исключением того, что метод writeln
присоединяет символы новой
строки в конец вывода. HTML игнорирует символы новой строки, за исключением
некоторых тэгов, таких как PRE
.
Используйте метод writeln
внутри тэгов SCRIPT
или в обработчике событий. Обработчики событий выполняются после закрытия
оригинального документа, поэтому метод writeln
будет неявно
открывать новый документ типа mimeType
text/html
, если Вы не вызываете явно метод document.open
в
обработчике события.
В Navigator 3.0 и позднее пользователи могут печатать и сохранять сгенерированный HTML, используя команды меню File браузера.
Все пример для метода write
верны также и для
метода writeln
.
document.close
,
document.open
, document.write
Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation