Окно или фрэйм в браузере. Это объект верхнего уровня для каждой группы объектов
document, Location
и History.
JavaScript 1.1: добавлены свойства
JavaScript 1.2: добавлены свойства | |
Машина выполнения JavaScript создаёт объект window для каждого тэга
BODY или FRAMESET. Она также создаёт объект window
для представления каждого фрэйма, определённого тэгом FRAME. Кроме
того, Вы можете создать другие окна, вызывая метод window.open.
Детали определения окна см. в разделе open.
В JavaScript 1.1, на некоторых платформах, размещение обработчика onBlur
или onFocus в тэге FRAMESET не даёт эффекта.
Объект window это объект верхнего уровня в клиентской иерархии JavaScript.
Объект window может представлять окно верхнего уровня или фрэйм из
набора фрэймов. Для удобства Вы можете представлять объект Frame
как объект window, который не является окном верхнего уровня.
Однако в действительности не существует отдельный класс Frame; эти
объекты в действительности являются объектами window с очень небольшими отличиями:
parent и
top
являются ссылками на само это окно. Для фрэйма - top
ссылается на самое верхнее окно браузера, а parent
ссылается на родительское окно текущего окна.defaultStatus
или status устанавливает текст status-строки
браузера. Для фрэйма установка этих свойств устанавливает только текст
статусной строки, когда курсор находится над фрэймом.close не используется для окон,
которые являются фрэймами.onBlur или onFocus для
фрэйма Вы обязаны установить свойство onblur или onfocus
и специфицировать его в нижнем регистре (нельзя специфицировать его в HTML).FRAME содержит атрибуты SRC и NAME,
Вы можете обратиться к этому фрэйму из фрэйма-родственника через parent.frameName
или parent.frames[index]. Например, если четвёртый фрэйм из
набора фрэймов имеет атрибут NAME="homeFrame",
фрэймы-родственники могут обратиться к этому фрэйму parent.homeFrame
или
parent.frames[3].
Для всех окон свойства self и window объекта window
являются синонимами текущего окна, и Вы можете по выбору использовать их для
обращения к текущему окну. Например, можно закрыть текущее окно, вызвав метод close
в window или в self. Вы можете использовать эти
свойства, чтобы сделать Ваш код более читабельным или чтобы отличить ссылку self.status от status.
См. далее примеры для свойств и методов.
Поскольку принимается существование текущего окна, Вы не должны обращаться к
имени окна при вызове его методов и присвоении значений свойств. Например,
status="Jump to a new location"
это верное присвоение свойства, а close() это верный вызов метода.
Однако, если Вы открываете или закрываете окно обработчиком события, Вы обязаны
специфицировать window.open() или window.close()
вместо open() или close(). Из-за видимости static-объектов
в JavaScript, вызов close() без указания имени объекта эквивалентен document.close().
По некоторым причинам, если Вы обращаетесь к объекту location в
обработчике события, Вы обязаны специфицировать window.location
вместо location. Вызов location без специфицирования
имени объекта эквивалентен document.location, что является
синонимом document.URL.
Вы можете обратиться к объектам Frame окна в коде через
использование массива frames. В окне с тэгом FRAMESET
массив frames содержит вхождение для каждого фрэйма.
Окну нужны обработчики событий, пока HTML, который содержит тэг BODY
или FRAMESET, не будет загружен в него.
| Свойство |
Описание
|
Объект, дающий доступ к возможностям шифрования Navigator'а. Отражает сообщение по умолчанию, выводимое в статусной строке. Содержит информацию о текущем документе и предоставляет методы для отображения вывода HTML пользователю.
| Содержит информацию о URL, которые клиент посетил в данном окне. Специфицирует вертикальные размеры в пикселах области содержимого окна. Специфицирует горизонтальные размеры в пикселах области содержимого окна.
|
|
| Специфицирует, выполняются ли обновления окна во внеоконном буфере.
Специфицирует имя окна вызывающего документа, если окно открывается методом Специфицирует вертикальные размеры в пикселах внешней границы окна. Специфицирует горизонтальные размеры в пикселах внешней границы окна. Предоставляет текущую x-позицию в пикселах просматриваемой страницы окна. Предоставляет текущую у-позицию в пикселах просматриваемой страницы окна. Синоним окна или фрэйма, чей frameset содержит текущий фрэйм. Представляет personal bar окна браузера (называемый также строкой директорий).
|
| |
|---|
| Метод |
Описание
| Декодирует строку данных, кодированную с использованием кодировки base-64. Отменяет последний шаг истории в любом фрэйме окна верхнего уровня.
|
| Устанавливает захват окном или документом всех событий специфицированного типа.
Отменяет таймаут, установленный методом
Отменяет таймаут, установленный методом
| Выводит диалог Confirm со специфицированным сообщением и кнопками OK и Cancel. Возвращает псевдослучайную строку, длина которой равна специфицированному количеству байтов. Возвращает строку кодированных данных, которая представляет маркированный/помеченный объект.
Отменяет захват внешних событий, установленный методом Разрешает окну с фрэймами захватывать события в страницах, загружаемых с других серверов. Находит специфицированную текстовую строку в содержимом специфицированного окна.
|
|
| Переводит браузер на URL, специфицированный в установках пользователя как домашняя страница.
| Перемещает верхний левый угол окна на специфицированные координаты экрана.
|
| Устанавливает освобождение захваченных окном событий специфицированного типа, отправляя событие объектам далее по иерархии событий. Изменяет размеры всего окна, перемещая нижний правый угол окна на специфицированные величины. Изменяет размеры всего окна на специфицированные внешние высоту и ширину. Передаёт захваченное событие по нормальной иерархии событий.
| Прокручивает область просмотра окна на специфицированную величину. Прокручивает окно до специфицированной координаты, так что специфицированная точка становится левым верхним углом. Включает или отключает горячие клавиши окна, не имеющего меню. Вычисляет выражение или вызывает функцию всякий раз по истечении специфицированного количества миллисекунд.
| Вычисляет выражение или вызывает функцию всякий раз по истечении специфицированного количества миллисекунд.
| |
|---|
Кроме того, этот объект наследует методы watch
и unwatch из Object.
Пример 1. Окна, открывающие другие окна. Здесь документ верхнего окна
открывает второе окно window2 и определяет push-кнопки, которые
открывают окно с сообщением, записывает в окно сообщения, закрывает его и закрывает window2.
Обработчики onLoad и onUnload документа, загруженного
в window2, выводят предупреждающие сообщения при открытии и закрытии окна.
win1.html, который определяет фрэймы для первого окна,
содержит следующий код:
<HTML>
<HEAD>
<TITLE>window object example: Window 1</TITLE>
</HEAD>
<BODY BGCOLOR="antiquewhite">
<SCRIPT>
window2=open("win2.html","secondWindow",
"scrollbars=yes,width=250, height=400")
document.writeln("<B>The first window has no name: "
+ window.name + "</B>")
document.writeln("<BR><B>The second window is named: "
+ window2.name + "</B>")
</SCRIPT>
<FORM NAME="form1">
<P><INPUT TYPE="button" VALUE="Open a message window"
onClick = "window3=window.open('','messageWindow',
'scrollbars=yes,width=175, height=300')">
<P><INPUT TYPE="button" VALUE="Write to the message window"
onClick="window3.document.writeln('Hey there');
window3.document.close()">
<P><INPUT TYPE="button" VALUE="Close the message window"
onClick="window3.close()">
<P><INPUT TYPE="button" VALUE="Close window2"
onClick="window2.close()">
</FORM>
</BODY>
</HTML>
win2.html, который определяет содержимое окна window2,
содержит следующий код:
<HTML>
<HEAD>
<TITLE>window object example: Window 2</TITLE>
</HEAD>
<BODY BGCOLOR="oldlace"
onLoad="alert('Message from ' + window.name + ': Hello, World.')"
onUnload="alert('Message from ' + window.name + ': I\'m closing')">
<B>Some numbers</B>
<UL><LI>one
<LI>two
<LI>three
<LI>four</UL>
</BODY>
</HTML>
Пример 2. Создание фрэймов. Создаются два окна, каждое из 4 фрэймов. В первом окне первый фрэйм содержит кнопки, которые изменяют цвет фона фрэймов в обоих окнах.
framset1.html, где определяются фрэймы первого окна, содержит следующий код:
<HTML>
<HEAD>
<TITLE>Frames and Framesets: Window 1</TITLE>
</HEAD>
<FRAMESET ROWS="50%,50%" COLS="40%,60%"
onLoad="alert('Hello, World.')">
<FRAME SRC=framcon1.html NAME="frame1">
<FRAME SRC=framcon2.html NAME="frame2">
<FRAME SRC=framcon2.html NAME="frame3">
<FRAME SRC=framcon2.html NAME="frame4">
</FRAMESET>
</HTML>
framset2.html, где определяются фрэймы второго окна, содержит следующий код:
<HTML>
<HEAD>
<TITLE>Frames and Framesets: Window 2</TITLE>
</HEAD>
<FRAMESET ROWS="50%,50%" COLS="40%,60%">
<FRAME SRC=framcon2.html NAME="frame1">
<FRAME SRC=framcon2.html NAME="frame2">
<FRAME SRC=framcon2.html NAME="frame3">
<FRAME SRC=framcon2.html NAME="frame4">
</FRAMESET>
</HTML>
framcon1.html, где определяется содержимое первого фрэйма первого
окна, содержит следующий код:
<HTML>
<BODY>
<A NAME="frame1"><H1>Frame1</H1></A>
<P><A HREF="framcon3.htm" target=frame2>Click here</A>
to load a different file into frame 2.
<SCRIPT>
window2=open("framset2.htm","secondFrameset")
</SCRIPT>
<FORM>
<P><INPUT TYPE="button" VALUE="Change frame2 to teal"
onClick="parent.frame2.document.bgColor='teal'">
<P><INPUT TYPE="button" VALUE="Change frame3 to slateblue"
onClick="parent.frames[2].document.bgColor='slateblue'">
<P><INPUT TYPE="button" VALUE="Change frame4 to darkturquoise"
onClick="top.frames[3].document.bgColor='darkturquoise'">
<P><INPUT TYPE="button" VALUE="window2.frame2 to violet"
onClick="window2.frame2.document.bgColor='violet'">
<P><INPUT TYPE="button" VALUE="window2.frame3 to fuchsia"
onClick="window2.frames[2].document.bgColor='fuchsia'">
<P><INPUT TYPE="button" VALUE="window2.frame4 to deeppink"
onClick="window2.frames[3].document.bgColor='deeppink'">
</FORM>
</BODY>
</HTML>
framcon2.html, где определяется содержимое остальных фрэймов, содержит следующий код:
<HTML>
<BODY>
<P>This is a frame.
</BODY>
</HTML>
framcon3.html, на который ссылается объект Link в framcon1.html,
содержит следующий код:
<HTML>
<BODY>
<P>This is a frame. What do you think?
</BODY>
</HTML>
document, FrameВыводит диалог Alert с сообщением и кнопкой OK.
alert(message)
message |

Используйте метод alert для отображения сообщения, которое не
требует принятия пользователем решения. Аргумент message специфицирует текст сообщения.
Вы не можете специфицировать заголовок окна alert, но можете использовать метод open
для создания Вашего собственного диалога alert. См. open.
Функция testValue проверяет имя введённое пользователем в Text-объект
формы, чтобы гарантировать, что оно имеет не более 8 символов. Этот пример
использует метод alert для предупреждения пользователя.
function testValue(textElement) {
if (textElement.length > 8) {
alert("Please enter a name that is 8 characters or less")
}
}
Можно вызвать функцию testValue в обработчике onBlur
объекта Text, как здесь:
Name: <INPUT TYPE="text" NAME="userName"
onBlur="testValue(userName.value)">
window.confirm, window.promptДекодирует строку данных, которая была кодировано по методу base-64.
atob(encodedData)
encodedData |
Этот метод декодирует строку данных, которая была кодирована с использованием base-64.
Например, метод window.btoa принимает
бинарную строку в качестве параметра и возвращает строку, кодированную в base-64.
Вы можете использовать метод window.btoa
для кодирования и передачи данных, а затем воспользоваться методом window.atob
для декодирования. Например, Вы можете закодировать, передать и декодировать символы, такие как ASCII-значения
с 0 по 31.
Кодируется и декодируется строка "Hello, world".
// кодируется строка
encodedData = btoa("Hello, world");
// строка декодируется
decodedData = atob(encodedData);
window.btoaОтменяет последний шаг истории в любом фрэйме окна верхнего уровня; эквивалентно нажатию кнопки Back в браузере.
back()
Вызов метода back эквивалентен нажатию кнопки Back в браузере. То
есть back отменяет последний шаг в любом месте окна верхнего уровня,
был ли он сделан в этом же или в другом фрэйме дерева фрэймов, загруженного из
окна верхнего уровня. По контрасту, метод back объекта history
переводит текущую историю окна или фрэйма на один шаг назад.
Например, рассмотрим следующий сценарий. Находясь во фрэйме Frame A, Вы
нажимаете кнопку Forward для изменения содержимого фрэйма Frame A. Затем Вы
переходите во Frame B и нажимаете кнопку Forward для изменения содержимого
фрэйма Frame B. Если Вы затем перейдёте обратно во Frame A и вызовете FrameA.back(),
содержимое фрэйма Frame B изменится (нажатие кнопки Back даст тот же эффект).
Если Вы хотите перейти именно во фрэйме Frame A, используйте FrameA.history.back().
Следующие специальные кнопки выполняют ту же операцию, что и кнопка Back браузера:
<P><INPUT TYPE="button" VALUE="< Go Back"
onClick="history.back()">
<P><INPUT TYPE="button" VALUE="> Go Back"
onClick="myWindow.back()">
window.forward, History.backУбирает фокус со специфицированного объекта.
blur()
Метод blur используется для удаления фокуса со специфицированного
окна или фрэйма. Удаление фокуса из окна переводит окно на задний план в большинстве оконных операционных систем.
window.focusСоздаёт ASCII-строку, кодированную по системе base-64, из строковых или двоичных данных.
btoa(stringToEncode)
stringToEncode |
Этот метод принимает двоичную строку ASCII в качестве параметра и возвращает другую ASCII-строку, кодированную с использованием base-64.
Вы можете использовать этот метод для кодирования данных, которые могут иначе
вызвать коммуникационные проблемы, передать их, а затем использовать метод window.atob
для декодирования данных. Например, Вы можете кодировать такие символы, как значения ASCII от 0 до 31.
См. window.atob.
window.atobУстанавливает захват окном всех событий специфицированного типа.
captureEvents(eventType1 [|eventTypeN...])
eventType1... eventTypeN | Тип захватываемого события. Допустимые типы событий рассматриваются в Главе 3 "Обработчики Событий". |
Если окно с фрэймами должно захватывать события на страницах, загружаемых с
разных серверов, Вы должны использовать captureEvents в
маркированном скрипте и предварительно вызвать enableExternalCapture.
Вы обязаны иметь привилегию UniversalBrowserWrite. Дополнительно
см. enableExternalCapture. О безопасности см. книгу
Руководство.
captureEvents работает в паре с releaseEvents, routeEvent
и handleEvent. Дополнительно см.
Руководство.
Отменяет таймаут, установленный методом setInterval.
clearInterval(intervalID)
intervalID |
Установка таймаута, которая была возвращена предыдущим вызовом метода |
См. setInterval.
См. setInterval.
window.setInterval
Отменяет таймаут, установленный методом setTimeout.
clearTimeout(timeoutID)
timeoutID |
Установка таймаута, которая была возвращена предыдущим вызовом метода |
См. setTimeout.
См. setTimeout.
window.clearInterval, window.setTimeoutЗакрывает специфицированное окно.
JavaScript 1.0: закрывает любое окно. JavaScript 1.1: закрывает только окна, открытые JavaScript. JavaScript 1.2: должны использоваться маркированные скрипты для безусловного закрытия окна. |
close()
Для безусловного закрытия окна Вы должны иметь привилегию UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Метод close закрывает специфицированное окно. Если Вы вызываете close
без специфицирования windowReference, JavaScript закрывает текущее окно.
Метод close закрывает только окна, открытые JavaScript с
использованием метода open. Если Вы попытаетесь закрыть любое
другое окно, генерируется диалог confirm, который предлагает подтвердить
закрытие окна. Это сделано для предотвращения "mail bombs/почтовых бомб",
содержащих self.close(). Однако, если окно содержит только один
документ (текущий) в истории текущей сессии, метод close выполняется без
подтверждения. Особый случай - с окнами one-off, которые должны открыть другие окна и только затем закрыться.
В обработчиках событий Вы обязаны специфицировать window.close()
вместо close(). Учитывая область видимости static-объектов в JavaScript,
вызов close() без специфицирования имени объекта эквивалентен document.close().
Пример 1. Любая из следующих строк закрывает текущее окно:
window.close()
self.close()
close()
Пример 2: Закрытие главного окна браузера.
top.opener.close()
Пример 3. Здесь закрывается окно messageWin:
messageWin.close()
Предполагается, что окно было открыто примерно в такой манере:
messageWin=window.open("")window.closed, window.openСпецифицирует, закрыто ли окно.
Свойство closed это Булево значение, которое специфицирует, закрыто
ли окно. Когда окно закрывается, объект window, представляющий его,
продолжает существовать, и его свойство closed устанавливается в true.
Используйте метод closed для определения, открыто ли в данный
момент окно, которое Вы ранее открыли и на которое Вы имеете ссылку (из return-значения
метода window.open). Если окно закрыто, Вы не должны пытаться манипулировать им.
Пример 1. Следующий код открывает окно win1, затем позже
проверяет, было ли оно закрыто. Вызываемая функция зависит от того, закрыто ли окно win1.
win1=window.open('opener1.html','window1','width=300,height=300')
...
if (win1.closed)
function1()
else
function2()
Пример 2. Определяется, закрыто ли окно, открывшее текущее окно, и вызывается соответствующая функция.
if (window.opener.closed)
function1()
else
function2()
window.close, window.openОтображает диалоговое окно Confirm со специфицированным сообщением и кнопками OK и Cancel.
confirm(message)
message |

Используйте confirm для запроса у пользователя решения, которое
требует OK/подтверждения или Cancel/отмены. Аргумент message
специфицирует текст сообщения. Метод confirm возвращает true, если
нажата кнопка OK, и false, если нажата Cancel.
Вы не можете специфицировать заголовок окна confirm, но можете использовать
метод open для создания Вашего собственного диалога confirm.
См. open.
Метод confirm в функции confirmCleanUp используется
для подтверждения закрытия приложения. Если пользователь выбрал OK, специальная
функция cleanUp закрывает приложение.
function confirmCleanUp() {
if (confirm("Are you sure you want to quit this application?")) {
cleanUp()
}
}
Вы можете вызвать функцию confirmCleanUp в обработчике onClick
кнопки, как показано в этом примере:
<INPUT TYPE="button" VALUE="Quit" onClick="confirmCleanUp()">
window.alert, window.promptОбъект, дающий доступ к возможностям шифрования в Navigator'е.
Объект crypto доступен только как свойство объекта window;
он предоставляет доступ к методам, которые поддерживают возможности шифровки в Navigator'е.
window.crypto.random, window.crypto.signTextВозвращает псевдослучайную строку, размер которой равен специфицированному количеству байтов.
crypto.random(numberOfBytes)
numberOfBytes | Количество байтов псевдослучайных данных, возвращаемых методом. |
Этот метод генерирует произвольную строку данных, размер которой специфицируется параметром numberOfBytes.
Функция возвращает строку длиной 16 байт.
function getRandom() {
return crypto.random(16)
}
Math.randomВозвращает строку кодированных данных, которая представляет маркированный объект.
crypto.signText
(text, selectionStyle [, authority1 [, ... authorityN]])
Метод signText спрашивает пользователя о проверке строки text
путём присоединения к ней цифровой подписи. Если параметр selectionStyle
установлен в ask, signText выводит диалог, и
пользователь обязан интерактивно выбрать сертификат для проверки текста. Если selectionStyle is
установлен в auto, Navigator пытается автоматически выбрать сертификат.
Используйте метод signText для отправки кодированной подписи на
сервер; сервер декодирует подпись и проверяет её. Если signText
терпит неудачу, он возвращает один из следующих error-кодов:
error:noMatchingCert - пользовательский сертификат не соответствует
ни одному из сертификатов, требуемых в диапазоне от authority1
до authorityN..error:userCancel - пользователь отменил диалоговое окно подписи без отправки сертификата.error:internalError - возникла внутренняя ошибка.Сообщение по умолчанию, выводимое в статусной строке в нижней части окна.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Руководство.
Сообщение defaultStatus появляется, если в статусной строке ничего
больше нет. Не путайте свойство defaultStatus со свойством status.
Свойство status отражает приоритетное или временной сообщение в
статусной строке, такое как при возникновении события mouseOver при проведении указателя мыши над якорем.
Вы можете установить свойство defaultStatus в любое время. Вы
обязаны возвращать true, если хотите устанавливать свойство defaultStatus
в обработчиках onMouseOut или onMouseOver.
Функция statusSetter устанавливает свойства status и defaultStatus
в обработчике onMouseOver:
function statusSetter() {
window.defaultStatus = "Click the link for the Netscape home page"
window.status = "Netscape home page"
}<A HREF="http://home.netscape.com"
onMouseOver = "statusSetter(); return true">Netscape</A>
Заметьте, что в это примере обработчик onMouseOver возвращает true.
Вы обязаны возвращать true, если хотите устанавливать defaultStatus и status в обработчиках событий.
window.statusОтменяет захват внешних событий, установленный методом enableExternalCapture.
disableExternalCapture()
Содержит информацию о текущем документе и предоставляет методы для отображения пользователю HTML-вывода.
Значением этого свойства является ассоциированный объект document окна.
Позволяет окну с фрэймами захватывать события на страницах, загружаемых из других location (серверов).
enableExternalCapture()
Используйте этот метод в маркированном скрипте, запрашивающем привилегии UniversalBrowserWrite,
и перед вызовом метода captureEvents.
Если Communicator видит дополнительные скрипты, которые ухудшают работу
действующих принципалов контейнера, он отключает захват внешних событий.
Дополнительные вызовы enableExternalCapture (после получения
привилегии UniversalBrowserWrite при уменьшенном наборе принципалов)
могут выполняться для возобновления захвата внешних событий.
Окно может захватывать все события Click, возникающие в его фрэймах.
<SCRIPT ARCHIVE="myArchive.jar" ID="2">
function captureClicks() {
netscape.security.PrivilegeManager.enablePrivilege(
"UniversalBrowserWrite");
enableExternalCapture();
captureEvents(Event.CLICK);
...
}
</SCRIPT>
window.disableExternalCapture, window.captureEventsНаходит специфицированную текстовую строку в содержимом специфицированного окна.
find([string[, caseSensitive, backward]])
true, если строка найдена; иначе - false.
Когда string специфицирован, браузер выполняет поиск сверху вниз без учёта регистра символов. Если параметр string не специфицирован, метод выводит диалог Find, позволяющий пользователю ввести строку для поиска.
Передаёт фокус специфицированному объекту.
focus()
Используйте метод focus для перехода к специфицированному окну или
фрэйму и передаче ему фокуса. Передача фокуса окну переводит его на передний план в большинстве оконных операционных систем.
В JavaScript 1.1, на некоторых платформах, метод focus передаёт
фокус фрэйму, но этот фокус визуально не проявляется (например, рамка фрэйма не темнеет).
Функция checkPassword подтверждает, что пользователь ввёл верный
пароль. Если введён неправильный пароль, метод focus возвращает
фокус объекту Password, а метод select выделяет его, чтобы пользователь мог повторно ввести пароль.
function checkPassword(userPass) {
if (badPassword) {
alert("Please enter your password again.")
userPass.focus()
userPass.select()
}
}
Предполагается, что объект Password определён так:
<INPUT TYPE="password" NAME="userPass">
window.blurПереводит браузер к следующему URL в текущем списке history; эквивалентно нажатию кнопки Forward в браузере.
history.forward()
forward()
Этот метод выполняет такое же действие, что нажатие кнопки Forward в браузере.
Метод forward эквивалентен history.go(1).
При использовании с объектом Frame, forward работает так: во фрэйме Frame A
вы нажимаете кнопку Back для изменения содержимого фрэйма Frame A. Затем
переходите во фрэйм Frame B и нажимаете кнопку Back для изменения содержимого
фрэйма Frame B. Если Вы перейдёте обратно в Frame A и вызовете FrameA.forward(),
изменится содержимое фрэйма Frame B (нажатие кнопки Forward даст тот же эффект).
Если Вы хотите перейти во фрэйме Frame A, используйте FrameA.history.forward().
Следующая кнопка выполняет то же действие, что и кнопка Forward браузера:
<P><INPUT TYPE="button" VALUE="< Go Forth"
onClick="history.forward()">
<P><INPUT TYPE="button" VALUE="> Go Forth"
onClick="myWindow.forward()">
window.back
Массив объектов, соответствующих дочерним фрэймам (созданных тэгами FRAME) в порядке расположения в исходном коде.
Вы можете обратиться к дочерним фрэймам окна, используя массив frames.
Этот массив содержит вхождения для всех дочерних фрэймов (созданных тэгами FRAME)
в окне, содержащем тэг FRAMESET; вхождения расположены в порядке исходного кода.
Например, если окно содержит три фрэйма со значениями атрибутов NAME fr1, fr2
и fr3, Вы можете обратиться к этим объектам в массиве images так:
parent.frames["fr1"]
parent.frames["fr2"]
parent.frames["fr3"]
parent.frames[0]
parent.frames[1]
parent.frames[2]
Можно определить общее количество дочерних фрэймов окна через свойство length
в самом window или в массиве frames.
Значение каждого элемента массива frames равно <object nameAttribute>,
где nameAttribute это атрибут NAME данного фрэйма.
Вызывает обработчик для специфицированного события.
handleEvent(event)
event | Имя события, для которого специфицированный объект имеет обработчик. |
handleEvent работает в паре с captureEvents, releaseEvents
и routeEvent. Дополнительно см.
Руководство.
Содержит информацию о URL, которые клиент посетил в окне.
Значением этого свойства является ассоциированный объект History
окна.
Переводит браузер на URL, специфицированный в настройках как домашняя страница пользователя; эквивалентно нажатию пользователем кнопки Home браузера.
home()
Этот метод выполняет то же действие, что и при нажатии в браузере кнопки Home.
Специфицирует вертикальные размеры в пикселах области содержимого окна.
Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте.
Для установки внутренней высоты окна размером менее 100 x 100 или больше, чем
экран может вместить, Вам необходима привилегия UniversalBrowserWrite. О безопасности см. книгу
Руководство.
window.innerWidth, window.outerHeight,
window.outerWidthСпецифицирует горизонтальные размеры в пикселах области содержимого окна.
Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте.
Для установки внутренней ширины окна размером менее 100 x 100 или больше, чем
экран может вместить, Вам необходима привилегия UniversalBrowserWrite. О безопасности см. книгу
Руководство.
window.innerHeight, window.outerHeight,
window.outerWidthКоличество дочерних фрэймов окна.
Это свойство даст тот же результат, что и свойство length массива frames.
Содержит информацию о текущем URL.
Значением этого свойства является ассоциированный объект Location окна.
Представляет адресную строку окна браузера (область, содержащую области закладки и URL).
Само значение свойства locationbar имеет свойство visible.
Если оно true, адресная строка видна; если false, она скрыта.
Установка значения свойства visible адресной строки требует
наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример создаёт окно "chromeless" (в окне chromeless отсутствуют панель утилит, полосы прокрутки, статусные области и т.д., как в диалоговом окне), пряча большую часть панелей пользовательского интерфейса:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
Представляет строку меню окна. Эта область содержит ниспадающие меню браузера, такие как File, Edit, View, Go, Communicator и т.д.
Значение свойства menubar само имеет свойство visible.
Если оно true, строка меню видна; если false, меню скрыто.
Установка значения свойства visible строки меню требует
наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример создаёт окно "chromeless" (в окне chromeless отсутствуют панель утилит, полосы прокрутки, статусные области и т.д., как в диалоговом окне), пряча большую часть панелей пользовательского интерфейса:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
Перемещает окно относительно его текущей позиции на специфицированное количество пикселов.
moveBy(horizontal, vertical)
horizontal | Количество пикселов, на которое окно перемещается по горизонтали. |
vertical | Количество пикселов, на которое окно перемещается по вертикали. |
Этот метод перемещает окно, прибавляя или вычитая специфицированное количество пикселов к текущему положению.
Выход за пределы одной из границ экрана (и скрытие части или всего окна) требует
маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана.
Для этого необходимо иметь привилегию UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Чтобы переместить текущее окно на 5 пикселов вверх (ось x) и на 10 пикселов вправо (ось у) от текущей позиции, используйте такой оператор:
self.moveBy(-5,10); // относительное позиционирование
window.moveToПеремещает верхний левый угол окна на специфицированные координаты экрана.
moveTo(x-coordinate, y-coordinate)
x-coordinate | |
y-coordinate |
Этот метод перемещает окно в абсолютное положение, указанное его параметрами (в пикселах). Начало отсчёта по осям ведётся от абсолютной позиции (0,0); это верхний левый угол экрана монитора.
Выход за пределы одной из границ экрана (и скрытие части или всего окна) требует
маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана.
Для этого необходимо иметь привилегию UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Для перемещения текущего окна на 25 пикселов от верхней границы экрана (ось x) и на 10 пикселов от левого края экрана (ось y) используйте такой оператор:
self.moveTo(25,10); // абсолютное позиционирование
window.moveByСтрока, специфицирующая имя окна.
Только для чтения (2.0); Изменяемое (в более поздних версиях) | |
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Руководство.
В JavaScript 1.0 NAME было свойством только для чтения/read-only. В
последующих версиях это свойство может изменяться Вашим кодом. Это даёт
возможность присваивать имя окну верхнего уровня.
Первый оператор создаёт окно netscapeWin. Второй оператор выводит
значение "netscapeHomePage" в диалоге Alert, поскольку "netscapeHomePage"
является значением аргумента windowName окна netscapeWin.
netscapeWin=window.open("http://home.netscape.com","netscapeHomePage")
alert(netscapeWin.name)
Специфицирует, выполняются ли обновления окна в offscreen-буфере.
По умолчанию Navigator автоматически определяет, выполняются ли обновления окна
в offscreen-буфере, а затем отображаются в окне. Вы можете либо полностью
отключить буферизацию, либо "потребовать" от Navigator'а
буферизовать обновления, установив в offscreenBuffering значение false
или true, соответственно.
Буферизация может уменьшить мигание экрана, которое возникает при обновлении окна, но это требует дополнительных системных ресурсов.
Открывает новое окно web-браузера.
open(URL, windowName[, windowFeatures])
URL |
Строка, специфицирующая URL для открытия в новом окне. См. в |
windowName |
Строка, специфицирующая имя окна, используемое в атрибуте |
windowFeatures | Строка, специфицирующая список (с разделёнием запятыми), в которой определяется, создавать или нет различные стандартные параметры окна. Эти опции рассматриваются в следующем разделе. |
В обработчиках событий Вы обязаны специфицировать window.open()
вместо open(). Из-за ограничений области видимости static-объектов
JavaScript, вызов open() без специфицирования имени объекта
эквивалентен document.open().
Метод open открывает новое окно Web-браузера на стороне клиенте,
что аналогично выбору меню New->Navigator Window из File.
Аргумент URL специфицирует URL - содержимое нового окна. Если URL
это пустая строка, создаётся новое пустое окно.
Вы можете использовать метод open в существующем окне, и, если Вы
передаёте в качестве URL пустую строку, Вы получите ссылку на существующее окно,
но не загрузите в него ничего. Вы можете, например, найти свойства в окне.
windowFeatures это строка по выбору/optional,
содержащая список разделённых запятыми опций нового окна (не включайте в список
пробелы). После открытия окна вы не сможете использовать JavaScript для
изменения windowFeatures. Вы можете специфицировать:
Многие из этих опций (как указано выше) могут иметь значение yes или no. Для
этих опций можно использовать 1 вместо yes и 0 вместо no. Если Вы хотите
включить опцию, Вы можете просто указать имя опции в строке windowFeatures.
Если windowName не специфицирует существующее окно и Вы не
предоставляете параметр windowFeatures, все опции, имеющие выбор yes/no,
устанавливаются по умолчанию в yes. Однако, если Вы предоставляете параметр windowFeatures,
то опции titlebar и hotkeys останутся yes по умолчанию,
но другие опции, имеющие выбор yes/no, будут по умолчанию no.
Например, все следующие операторы включают опцию toolbar и отключают все другие Булевы опции:
open("", "messageWindow", "toolbar")
open("", "messageWindow", "toolbar=yes")
open("", "messageWindow", "toolbar=1")
Следующий оператор включает опции location и directories и отключает все остальные Булевы опции:
open("", "messageWindow", "toolbar,directories=yes")
Однако поведение опций alwaysLowered, alwaysRaised и z-lock
зависит от иерархии окон на конкретной платформе.
Например, в Windows окно браузера alwaysLowered или z-locked
находится ниже всех остальных окон всех приложений. В Macintosh окно браузера alwaysLowered
находится ниже остальных окон, но не обязательно ниже окон других
приложений. Аналогично для окон alwaysRaised.
Вы можете использовать open для открытия нового окна, а затем - в
этом новом окне - для открытия другого окна, и так далее. Таким способом Вы
можете составить цепочку открытых окон, каждое из которых имеет свойство opener,
указывающее на окно, открывшее данное окно.
Communicator допускает максимум 100 открытых окон. Если Вы открыли окно window2
из окна window1 и затем завершили работу с window1,
установите свойство opener окна window2
в null. Это позволит JavaScript убрать мусор - окно window1.
Если Вы не установите свойство opener в null, объект window1
останется, даже если он реально уже не нужен.
Для выполнения следующих операций Вам нужно иметь привилегию UniversalBrowserWrite:
innerWidth, innerHeight, outerWidth
и outerHeight.screenX и screenY.titlebar.alwaysRaised, alwaysLowered или z-lock для любых установок.О безопасности см. книгу Руководство.
Пример 1. Функция windowOpener открывает окно и использует
методы write для вывода сообщения:
function windowOpener() {
msgWindow=window.open("","displayWindow","menubar=yes")
msgWindow.document.write
("<HEAD><TITLE>Message window</TITLE></HEAD>")
msgWindow.document.write
("<CENTER><BIG><B>Hello, world!</B></BIG></CENTER>")
}
Пример 2. Это обработчик onClick, который открывает новое
клиентское окно, выводя содержимое, специфицированное в файле sesame.html.
Окно открывается со специфицированными установками опций; все другие опции будут false, поскольку не специфицированы.
<FORM NAME="myform">
<INPUT TYPE="button" NAME="Button1" VALUE="Open Sesame!"
onClick="window.open ('sesame.html', 'newWin',
'scrollbars=yes,status=yes,width=300,height=300')">
</FORM>
window.closeСпецифицирует окно вызывающего документа, если окно открывается методом open.
Если исходный документ открывает целевое окно методом open,
свойство opener специфицирует окно исходного документа. Вычисляйте
свойство opener целевого окна.
Это свойство существует до выгрузки документа в открытом окне.
Вы можете изменить свойство opener в любое время.
Можно использовать window.open для открытия
нового окна, а затем использовать window.open
для открытия другого окна, и так далее. Таким способом Вы можете составить
цепочку открытых окон, каждое из которых имеет свойство opener,
указывающее на окно, открывшее данное окно.
Communicator допускает максимум 100 открытых окон. Если Вы открыли окно window2
из окна window1 и затем завершили работу с window1,
установите свойство opener окна window2
в null. Это позволит JavaScript убрать мусор - окно window1.
Если Вы не установите свойство opener в null, объект window1
останется, даже если он реально уже не нужен.
Пример 1: Закрытие opener'а. Этот код закрывает
окно, которое открыло текущее окно. Если opener-окно закрывается, opener
остаётся без изменений. Однако window.opener.name вычисляется теперь в undefined.
window.opener.close()
Пример 2: Закрытие главного окна браузера.
top.opener.close()
Пример 3: Вычисление имени opener'а. Окно может определить имя своего opener'а так:
document.write("<BR>opener property is " + window.opener.name)
Пример 4: Изменение значения opener. Этот код изменяет значение свойства opener
в null. После выполнения этого кода вы не сможете закрыть opener-окно так, как это делается в Примере 1.
window.opener=null
Пример 5: Изменение значения свойства через opener. Изменяется цвет фона
окна, специфицированного свойством opener.
window.opener.document.bgColor='bisque'
window.close, window.openСпецифицирует вертикальный размер в пикселах внешней границы окна.
Внешняя граница включает полосы прокрутки, статусную строку, панели toolbars и другой "chrome" (элементы пользовательского интерфейса рамки окна). Для создания окна размером менее 100 x 100 пикселов, установите это свойство в маркированном скрипте.
window.innerWidth, window.innerHeight, window.outerWidthСпецифицирует горизонтальный размер в пикселах внешней границы окна.
Внешняя граница включает полосы прокрутки, статусную строку, панели toolbar и другой "chrome" (элементы пользовательского интерфейса рамки окна). Для создания окна размером менее 100 x 100 пикселов, установите это свойство в маркированном скрипте.
window.innerWidth, window.innerHeight, window.outerHeightПредоставляет текущую x-позицию в пикселах видимой страницы окна.
Свойство pageXOffset предоставляет текущую x-позицию страницы
относительно верхнего левого угла области содержимого окна. Это свойство
используется, если Вам необходимо найти текущую позицию прокручиваемой страницы
перед использованием scrollTo или scrollBy.
Этот пример возвращает x-позицию видимой страницы.
x = myWindow.pageXOffset
window.pageYOffsetПредоставляет текущую у-позицию в пикселах видимой страницы окна.
Свойство pageYOffset предоставляет текущую у-позицию страницы
относительно верхнего левого угла области содержимого окна. Это свойство
используется, если Вам необходимо найти текущую позицию прокручиваемой страницы
перед использованием scrollTo или scrollBy.
Этот пример возвращает у-позицию видимой страницы.
x = myWindow.pageYOffset
window.pageXOffset
Свойство parent это окно или фрэйм, чей frameset/набор фрэймов содержит текущий фрэйм.
Это свойство имеет смысл только для фрэймов; то есть для окон, которые не являются окнами верхнего уровня.
Свойство parent ссылается на тэг FRAMESET окна фрэйма.
Дочерние фрэймы в данном frameset ссылаются на родственные фрэймы через
использование parent вместо имени окна одним из следующих способов:
parent.frameName
parent.frames[index]
Например, если четвёртый фрэйм набора имеет NAME="homeFrame",
фрэймы-родственники могут ссылаться на этот фрэйм через использование parent.homeFrame
или parent.frames[3].
Вы можете использовать parent.parent для обращения к фрэйму или
окну-"дедушке", если тэг FRAMESET вложен в дочерний фрэйм.
Значением свойства parent является
<object nameAttribute>
где nameAttribute это атрибут NAME, если родитель
является фрэймом, или внутренняя ссылка, если родителем является окно.
См. примеры для Frame.
Представляет персональную панель окна браузера (называемую также панелью директорий). Эту область пользователь может использовать для быстрого доступа к определённым закладкам.
Значение свойства personalbar само имеет свойство visible.
Если оно true, персональная панель отображается; если false, панель скрыта.
Установка значения свойства visible персональной панели требует
наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbars, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
print()
Выводит диалог Prompt с сообщением и полем для ввода.
prompt(message[, inputDefault])
message | |
inputDefault | Строка или целое число представляющее значение по умолчанию поля ввода. |

Используйте метод prompt для вывода диалогового окна, принимающего ввод от пользователя.
Если Вы не специфицируете начальное значение для inputDefault, диалог показывает
<undefined>.
Вы не можете специфицировать заголовок диалога prompt, но можете использовать метод
open для создания Вашего собственного prompt-диалога.
См. open.
prompt("Enter the number of cookies you want to order:", 12)
window.alert, window.confirmУстанавливает освобождение объектами window или document захваченных событий специфицированного типа, отправляя событие следующим объектам по иерархии событий.
ПРИМЕЧАНИЕ: Если первоначальной целью/target события является окно, это окно получает событие, даже если оно имеет установку освобождать события этого типа.
releaseEvents(eventType1 [|eventTypeN...])
eventType1... eventTypeN | Тип захватываемых событий. Типы событий рассматриваются в Главе 3, "Обработчики Событий". |
releaseEvents работает вместе с captureEvents, routeEvent и handleEvent.
Дополнительно см.
Руководство.
Изменяет размеры всего окна, перемещая нижний правый угол окна на специфицированные величины.
resizeBy(horizontal, vertical)
horizontal | Количество пикселов, на которое окно изменяет размер по горизонтали. |
vertical | Количество пикселов, на которое окно изменяет размер по вертикали. |
Этот метод изменяет размеры окна через установку свойств outerWidth
и outerHeight. Верхний левый угол остаётся
на месте, а нижний правый угол перемещается.
resizeBy перемещает окно, прибавляя или вычитая специфицированное
количество пикселов к координатам текущей позиции правого нижнего угла.
Выход за любую границу экрана (для скрытия части или всего окна) требует
маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана.
Кроме того, окна имеют форсированный минимальный размер 100 x 100 пикселов;
изменение размеров окна меньше этого минимума требует маркированного JavaScript.
Для этого Вам нужна привилегия UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Чтобы сделать текущее окно на 5 пикселов уже и на 10 пикселов выше, используйте такой оператор:
self.resizeBy(-5,10); // относительное позиционирование
window.resizeToresizeTo(outerWidth, outerHeight)
outerWidth | |
outerHeight |
Этот метод изменяет размеры окна, устанавливая его свойства outerWidth
и outerHeight. Верхний левый угол остаётся на месте, а правый нижний угол перемещается.
resizeBy перемещает на специфицированную позицию. Началом осей является абсолютная позиция (0,0); это левый верхний угол дисплея.
Выход за любую границу экрана (для скрытия части или всего окна) требует
маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана.
Кроме того, окна имеют форсированный минимальный размер 100 x 100 пикселов;
изменение размеров окна меньше этого минимума требует маркированного JavaScript.
Для этого Вам нужна привилегия UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Чтобы сделать окно шириной 225 пикселов и высотой 200 пикселов, используйте этот оператор:
self.resizeTo(225,200); // абсолютное позиционирование
window.resizeByПередаёт захваченное событие по нормальной цепи иерархии.
routeEvent(event)
event |
Если субобъект (document или layer) также захватывает событие, событие посылается этому объекту. Иначе оно посылается своей изначальной цели.
routeEvent работает вместе с captureEvents, releaseEvents
и handleEvent. Дополнительно см.
Руководство.
Специфицирует x-координату левого угла окна.
Установка значения свойства screenX требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
window.screenYСпецифицирует y-координату верхнего угла окна.
Установка значения свойства screenY требует наличия
привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
window.screenXПрокручивает окно до специфицированных координат.
В JavaScript 1.2, scroll больше не используется и заменён на scrollTo.
scrollTo расширяет возможности метода scroll.
scroll оставлен для обеспечения обратной совместимости.
Представляет вертикальную и горизонтальную полосы прокрутки окна браузера для области документа.
Значение свойства scrollbars само имеет свойство visible.
Если оно true, видны обе полосы прокрутки; если false, они скрыты.
Установка значения свойства visible полос прокрутки требует
наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
Прокручивает область просмотра окна на специфицированную величину.
scrollBy(horizontal, vertical)
horizontal | Количество пикселов, на которое область просмотра прокручивается по горизонтали. |
vertical | Количество пикселов, на которое область просмотра прокручивается по вертикали. |
Этот метод прокручивает содержимое окна, если часть содержимого находится за пределами окна.
scrollBy прокручивает окно, добавляя или вычитая специфицированное количество пикселов относительно текущей позиции.
Чтобы этот метод работал, свойство visible для опции window.scrollbars
обязано быть true.
Для прокрутки текущего окна на 5 пикселов влево и на 30 пикселов вниз от текущей позиции, используйте:
self.scrollBy(-5,30); // относительное позиционирование
window.scrollToПрокручивает область просмотра окна таким образом, что специфицированная точка становится левым верхним углом.
scrollTo(x-coordinate, y-coordinate)
x-coordinate | Целое число, представляющее x-координату области просмотра в пикселах. |
y-coordinate | Целое число, представляющее у-координату области просмотра в пикселах. |
scrollTo заменил scroll. scroll оставлен для обеспечения обратной совместимости.
Метод scrollTo прокручивает содержимое окна, если имеются невидимые
части за пределами окна. Чтобы этот метод работал, свойство visible
для опции window.scrollbars обязано быть true.
Пример 1: Прокрутка текущей области просмотра. Для прокрутки окна к левой границе и на 20 пикселов вниз от верха окна, используйте этот оператор:
self.scrollTo(0,20); // абсолютное позиционирование
Пример 2: Прокрутка другой области просмотра. Это код, расположенный в
одном фрэйме, прокручивает область просмотра другого фрэйма. Два объекта Text
дают пользователю возможность специфицировать координаты x и y. если
пользователь щёлкает по кнопке Go, документ в frame2 прокручивается на специфицированные координаты.
<SCRIPT>
function scrollIt(form) {
var x = parseInt(form.x.value)
var y = parseInt(form.y.value)
parent.frame2.scrollTo(x, y)
}
</SCRIPT>
<BODY>
<FORM NAME="myForm">
<P><B>Specify the coordinates to scroll to:</B>
<BR>Horizontal:
<INPUT TYPE="text" NAME=x VALUE="0" SIZE=4>
<BR>Vertical:
<INPUT TYPE="text" NAME=y VALUE="0" SIZE=4>
<BR><INPUT TYPE="button" VALUE="Go"
onClick="scrollIt(document.myForm)">
</FORM>
window.scrollByСвойство self это синоним текущего окна.
Свойство self ссылается на текущее окно. То есть значение этого свойства является синонимом самого объекта.
Используйте свойство self для устранения неоднозначности свойства window
при вызове из формы или элемента формы с тем же именем. Вы можете также
использовать свойство self, для того чтобы сделать Ваш код более читабельным.
Значением свойства self является
<object nameAttribute>
где nameAttribute это атрибут NAME, если self
ссылается на фрэйм, или внутренняя ссылка, если self ссылается на окно.
В этом примере self.status используется для установки свойства status
текущего окна. Такое использование устраняет неоднозначность свойства status
текущего окна при вызове из формы или элемента формы с названием status внутри текущего окна.
<A HREF=""
onClick="this.href=pickRandomURL()"
onMouseOver="self.status='Pick a random URL' ; return true">
Go!</A>
Включает или отключает "горячие клавиши" в данном окне, которое не имеет меню.
setHotKeys(trueOrFalse)
trueOrFalse |
Для включения/отключения горячих клавиш Вам нужно иметь привилегию UniversalBrowserWrite. О безопасности см. книгу
Руководство.
По умолчанию горячие клавиши отключены в окне, в котором отсутствует меню. С
помощью метода setHotKeys вы можете явным образом
включать/отключать все горячие клавиши, за исключением security и quit, которые всегда включены.
Можно также специфицировать включение горячих клавиш во время создания окна,
если используется метод window.open.
window.openВычисляет выражение или вызывает функцию каждый раз при истечении
специфицированного количества миллисекунд, пока не будет отменён вызовом метода clearInterval.
setInterval(expression, msec)
setInterval(function, msec[, arg1[, ..., argN]])
Таймаут работает до момента уничтожения ассоциированного окна или фрэйма или до
отмены интервала методом clearInterval.
setInterval не нарушает выполнение скрипта. Скрипт продолжается
сразу после выполнения метода (не ожидая повторения интервала). Его вызов просто откладывает будущее событие.
Этот код отображает текущее время в объекте Text. В функции startclock
вызов метода setInterval заставляет вызывать функцию showtime
каждую секунду для обновления показаний часов. Заметьте, что функция startclock
и метод setInterval вызываются только один раз каждый.
<SCRIPT LANGUAGE="JavaScript">
var timerID = null
var timerRunning = false
function stopclock(){
if(timerRunning)
clearInterval(timerID)
timerRunning = false
}
function startclock(){
// Убедиться, что часы остановлены
stopclock()
timerID = setInterval("showtime()",1000)
timerRunning = true
}
function showtime(){
var now = new Date()
var hours = now.getHours()
var minutes = now.getMinutes()
var seconds = now.getSeconds()
var timeValue = "" + ((hours > 12) ? hours - 12 : hours)
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
timeValue += (hours >= 12) ? " P.M." : " A.M."
document.clock.face.value = timeValue
}
</SCRIPT>
<BODY onLoad="startclock()">
<FORM NAME="clock" onSubmit="0">
<INPUT TYPE="text" NAME="face" SIZE=12 VALUE ="">
</FORM>
</BODY>
window.clearInterval, window.setTimeoutСпецифицирует, может ли пользователь изменять размеры окна.
setResizable(trueOrFalse)
trueOrFalse | Булево значение, специфицирующее, может ли пользователь изменять размеры окна: |
По умолчанию новое окно Navigator'а может менять
размеры. Методом setResizable Вы можете явно разрешить или
запретить пользователю изменять размеры окна. Не все операционные системы поддерживают этот метод.
Вы можете также специфицировать, может ли окно изменять размеры во время
создания, если используется метод window.open.
window.openВычисляет выражение или вызывает функцию по истечении специфицированного количества миллисекунд.
setTimeout(expression, msec)
setTimeout(function, msec[, arg1[, ..., argN]])
Метод setTimeout вычисляет выражение или вызывает функцию по
истечении специфицированного количества времени. Он не выполняется повторно.
Например, если метод setTimeout специфицирует 5 секунд, через пять
секунд вычисляется выражение или вызывается функция, но не каждые пять секунд.
Для выполнения повторяющихся таймаутов используйте метод setInterval.
setTimeout не нарушает выполнение скрипта. Скрипт продолжается
сразу после выполнения метода (не ожидая повторения интервала). Его вызов просто откладывает будущее событие.
Пример 1. Сообщение alert выводится через 5 секунд (5,000 миллисекунд) после щелчка пользователя по кнопке. Если пользователь щёлкает вторую кнопку до вывода сообщения, таймаут отменяется и alert не отображается.
<SCRIPT LANGUAGE="JavaScript">
function displayAlert() {
alert("5 seconds have elapsed since the button was clicked.")
}
</SCRIPT>
<BODY>
<FORM>
Click the button on the left for a reminder in 5 seconds;
click the button on the right to cancel the reminder before
it is displayed.
<P>
<INPUT TYPE="button" VALUE="5-second reminder"
NAME="remind_button"
onClick="timerID=setTimeout('displayAlert()',5000)">
<INPUT TYPE="button" VALUE="Clear the 5-second reminder"
NAME="remind_disable_button"
onClick="clearTimeout(timerID)">
</FORM>
</BODY>
Пример 2. Выводится текущее время в объекте Text. Функция showtime,
вызываемая рекурсивно, использует метод setTimeout для обновления значения каждую секунду.
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerRunning = false
function stopclock(){
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function startclock(){
// Убедиться, что часы остановлены
stopclock()
showtime()
}
function showtime(){
var now = new Date()
var hours = now.getHours()
var minutes = now.getMinutes()
var seconds = now.getSeconds()
var timeValue = "" + ((hours > 12) ? hours - 12 : hours)
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
timeValue += (hours >= 12) ? " P.M." : " A.M."
document.clock.face.value = timeValue
timerID = setTimeout("showtime()",1000)
timerRunning = true
}
//-->
</SCRIPT>
</HEAD><BODY onLoad="startclock()">
<FORM NAME="clock" onSubmit="0">
<INPUT TYPE="text" NAME="face" SIZE=12 VALUE ="">
</FORM>
</BODY>
window.clearTimeout, window.setIntervalСпецифицирует поведение z-order стэкирования окна.
setZOptions(windowPosition)
Для установки этого свойства необходимо обладать привилегией UniversalBrowserWrite. О безопасности см. книгу
Руководство.
По умолчанию окно Navigator'а переходит наверх в
порядке z-order при активации и переходит вниз в порядке z-order при активации
других окон. С помощью метода setZOptions Вы можете явно
специфицировать положение окна в порядке z-order.
Если Вы не специфицируете аргумент для setZOptions, этот метод
восстанавливает стэкирование z-order по умолчанию окна Navigator'а.
Вы можете также специфицировать поведение порядка стэкирования окна во время его
создания при использовании метода window.open.
window.openСпецифицирует приоритетное сообщение статусной строки окна, такое как
сообщение появляющееся при возникновении события mouseOver в якоре.
JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Руководство.
Не путайте свойство status со свойством defaultStatus.
Свойство defaultStatus отражает сообщение по умолчанию, выводимое в статусной строке/status bar.
Вы можете установить свойство status в любое время. Вы обязаны
возвращать true, если хотите установить свойство status в
обработчике onMouseOver.
Предположим, Вы создали функцию JavaScript под названием pickRandomURL,
которая даёт возможность выбрать произвольный URL.
Вы можете использовать обработчик onClick в якоре для динамического
специфицирования значения атрибута HREF этого якоря и обработчик onMouseOver
- для специфицирования специального сообщения для окна - в свойстве status:
<A HREF=""
onClick="this.href=pickRandomURL()"
onMouseOver="self.status='Pick a random URL'; return true">
Go!</A>
Здесь свойство status окна присваивается свойству self
окна таким образом: self.status.
window.defaultStatusПредставляет строку статуса/status bar окна. Это область, содержащая индикатор security, статус браузера и т.п.
Значение свойства statusbar само имеет свойство visible.
Если оно true, статусная строка отображается; если false, она скрыта.
Установка значения свойства visible статусной строки требует
наличия привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
stop()
Этот метод выполняет те же действия, что и нажатие на кнопку Stop в браузере.
Представляет панель toolbar окна браузера, содержащую кнопки навигации, такие как Back, Forward, Reload, Home и т.п.
Значение свойства toolbar само имеет свойство visible.
Если оно true, toolbar отображается; если false, панель скрыта.
Установка значения свойства visible панели toolbar требует наличия
привилегии UniversalBrowserWrite. О безопасности см. книгу
Руководство.
Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панели toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:
self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;
Свойство top это синоним самого верхнего окна браузера, которое
является окном документа или окном web-браузера.
Свойство top ссылается на самое верхнее окно, содержащее фрэймы или
вложенные наборы фрэймов/frameset. Используйте свойство top для обращения к этому окну-предку.
Значением этого свойства является
<object objectReference>
где objectReference это внутренняя ссылка.
Оператор top.close() закрывает самое верхнее окно иерархии окон .
Оператор top.length специфицирует количество фрэймов, содержащихся
внутри самого верхнего окна. Если самый верхний предок определён так, top.length возвращает 3:
<FRAMESET COLS="30%,40%,30%">
<FRAME SRC=child1.htm NAME="childFrame1">
<FRAME SRC=child2.htm NAME="childFrame2">
<FRAME SRC=child3.htm NAME="childFrame3">
</FRAMESET>
Следующий пример устанавливает цвет фона фрэйма myFrame в red.
myFrame
это потомок самого верхнего окна-предка.
top.myFrame.document.bgColor="red"
Свойство window это синоним текущего окна или фрэйма.
Свойство window ссылается на текущее окно или фрэйм. То есть
значение этого свойства является синонимом самого объекта.
Хотя можно использовать свойство window как синоним текущего фрэйма,
Ваш код будет лучше читаться, если вы будете использовать свойство self.
Например, window.name и self.name оба специфицируют
имя текущего фрэйма, но self.name легче понять (поскольку фрэйм не
отображается как отдельное окно).
Используйте свойство window для устранения неоднозначности свойства
объекта window при вызове из формы или элемента формы с тем же
именем. Вы можете также использовать свойство window, чтобы сделать
код более понятным.
Значением свойства window является
<object nameAttribute>
где nameAttribute это атрибут NAME, если window
ссылается на фрэйм, или внутренняя ссылка, если window ссылается на окно.
Здесь window.status используется для установки свойства status
текущего окна. Такое использование устраняет неоднозначность свойства status
текущего окна при обращении к текущему окну из формы, которая называется "status", в текущем окне.
<A HREF=""
onClick="this.href=pickRandomURL()"
onMouseOver="window.status='Pick a random URL' ; return true">
Go!</A>
window.selfДата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999