>
Создает новый объект >Windоw
, сохраняет значение arguments в свойстве >dialogArguments
этого объекта, загружает в окно документ с адресом url и блокирует выполнение сценария, пока окно не будет закрыто. После закрытия окна метод возвращает значение свойства >returnValue
окна. Обсуждение и порядок использования метода можно найти в разделе 14.5 и в примере 14.4.
Обработчики событий
Большинство событий, возникающих в HTML-элементах, всплывают вверх по дереву документа до объекта >Document
и затем до объекта >Window
. По этой причине в объекте >Window
можно использовать любые свойства обработчиков событий, которые перечислены в справочной статье >Element
. И дополнительно можно использовать свойства обработчиков событий, перечисленные ниже. По историческим причинам каждое из свойств обработчиков событий, перечисленных ниже, можно также определить (в виде HTML-атрибутов или JavaScript-свойств) в элементе >
.
фоновый поток выполнения (EventTarget)
Объект >Worker
представляет фоновый поток выполнения. Создать новый объект >Worker
можнос помощью конструктора >Worker(),
передав ему URL-адрес файла с программным кодом на языке JavaScript. Прогрaммный код в этом файле может использовать синхронные прикладные интерфейсы или выполнять продолжительные вычисления, не оказывая влияния на главный поток выполнения. Фоновые потоки работают в отдельном контексте выполнения (см. >WorkerGlobalScope
), и обмен данными с фоновым потоком выполнения возможен только через механизм асинхронных событий. Отправить данные фоновому потоку можно вызовом метода >postMessage(),
а получить - с помощью обработчика события «message».
Введение в фоновые потоки выполнения приводится в разделе 22.4.
Конструктор
>new Worker(string scriptURL)
Создает новый объект >Worker
и запускает JavaScript-сценарий, находящийся по адресу scriptURL.
Методы
>void postMessage(any message, [MessagePort[] ports])
Отправляет сообщение message фоновому потоку выполнения, котоpый получит его в виде объекта >MessageEvent
, в обработчике >onmessage
. Аргумент message может быть простым значением, объектом или массивом, но не функцией. Допускается передавать такие объекты клиентского JavaScript, как >ArrayBuffer, File, Blob и ImageData,
но узлы, такие как >Document
и >Element
, передавать нельзя (подробности приводятся во врезке «Структурированные копии» в главе 22).
Необязательный аргумент ports позволяет указать один или более прямых каналов связи с объектом >Worker
. Например, если имеются два объекта >Worker
, можно обеспечить прямое взаимодействие между ними, передав их конструкторам концы соединения