броузер реагирует так же, как если бы пользователь выбрал пункт меню или щелкнул на кнопке Print (Печать). Обычно после этого появляется диалоговое окно, позволяющее отменить операцию печати или выполнить дополнительную настройку.
string prompt(string message, [string default])
Метод
prompt
выводит сообщение message в диалоговом окне, содержащем поле ввода и кнопки OК и Cancel, и блокирует работу сценария, пока пользователь не щелкнет на одной из кнопок.
Аргумент default определяет начальное содержимое поля ввода.
void scroll(long
х, long у)
Синоним метода
scrollTo.
void scrollBy(long х, long у)
Прокручивает документ, отображаемый в окне, на относительную величину, заданную аргументами х и у.
void scrollTo(long х, long у)
Прокручивает документ, отображаемый в окне, так, чтобы точка с координатами х и у в документе оказалась в левом верхнем углу, если это возможно.
long setlnterval(function f, unsigned long interval, any args...)
Метод
setInterval
регистрирует функцию f, которая должна быть вызвана через interval миллисекунд и затем должна вызываться через каждые interval миллисекунд. Ключевое слово
this
внури функции f будет ссылаться на объект
Window
, а в аргументе args она получит все дополнительные аргументы, переданные методу
setlnterval.
Метод
setInterval
возвращает число, которое позднее может быть передано методу
Window.clearlnterval
для прекращения периодического вызова функции f.
По историческим причинам в аргументе f можно передать не только функцию, но и строку с программным кодом на языке JavaScript. В этом случае каждые interval миллисекунд будет выполняться программный код, содержащийся в строке (как если бы он был заключен в тег
<script>
).
Если необходимо просто отложить выполнение программного кода и не требуется периодически запускать его, следует использовать метод
setTimeout.
long setTimeout(function f, unsigned long timeout, any args...)
Метод
setTimeout
напоминает метод
setInterval,
но вызывает указанную функцию только один раз: он регистрирует функцию f, которая должна быть вызвана через timeout миллисекунд и возвращает число, которое позднее можно передать методу
clearTimeout,
чтобы отменить вызов ожидающей функции. Когда истечет указанный интервал времени, функция f будет вызвана как метод объекта
Window
и ей будут переданы аргументы args. Если f - это строка с программным кодом, а не функция, она будет выполнена спустя timeout миллисекунд как сценарий в теге
<script>.
any showModalDialog(string url, [any arguments])
Создает новый объект
Windоw
, сохраняет значение arguments в свойстве
dialogArguments
этого объекта, загружает в окно документ с адресом url и блокирует выполнение сценария, пока окно не будет закрыто. После закрытия окна метод возвращает значение свойства
returnValue
окна. Обсуждение и порядок использования метода можно найти в разделе 14.5 и в примере 14.4.
Обработчики событий
Большинство событий, возникающих в HTML-элементах, всплывают вверх по дереву документа до объекта
Document
и затем до объекта
Window
.
По этой причине в объекте
Window
можно использовать любые свойства обработчиков событий, которые перечислены в справочной статье
Element
. И дополнительно можно использовать свойства обработчиков событий, перечисленные ниже. По историческим причинам каждое из свойств обработчиков событий, перечисленных ниже, можно также определить (в виде HTML-атрибутов или JavaScript-свойств) в элементе
<body>
.
Worker
фоновый поток выполнения (EventTarget)
Объект
Worker
представляет фоновый поток выполнения. Создать новый объект
Worker
можнос помощью конструктора
Worker,
передав ему URL-адрес файла с программным кодом на языке JavaScript. Прогрaммный код в этом файле может использовать синхронные прикладные интерфейсы или выполнять продолжительные вычисления, не оказывая влияния на главный поток выполнения. Фоновые потоки работают в отдельном контексте выполнения (см.
WorkerGlobalScope
), и обмен данными с фоновым потоком выполнения возможен только через механизм асинхронных событий. Отправить данные фоновому потоку можно вызовом метода
postMessage,
а получить - с помощью обработчика события «message».
Введение в фоновые потоки выполнения приводится в разделе 22.4.
Конструктор
new Worker(string scriptURL)
Создает новый объект
Worker
и запускает JavaScript-сценарий, находящийся по адресу scriptURL.
Отправляет сообщение message фоновому потоку выполнения, котоpый получит его в виде объекта
MessageEvent
, в обработчике
onmessage
. Аргумент message может быть простым значением, объектом или массивом, но не функцией. Допускается передавать такие объекты клиентского JavaScript, как
ArrayBuffer, File, Blob и ImageData,
но узлы, такие как
Document
и
Element
, передавать нельзя (подробности приводятся во врезке «Структурированные копии» в главе 22).
Необязательный аргумент ports позволяет указать один или более прямых каналов связи с объектом
Worker
. Например, если имеются два объекта
Worker
, можно обеспечить прямое взаимодействие между ними, передав их конструкторам концы соединения
MessageChannel
.
void terminate
Останавливает фоновый поток выполнения и прерывает работу сценария в нем.