JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 949

>

Создает новый объект >Windоw, сохраняет значение arguments в свойстве >dialogArguments этого объекта, загружает в окно документ с адресом url и блокирует выполнение сценария, пока окно не будет закрыто. После закрытия окна метод возвращает значение свойства >returnValue окна. Обсуждение и порядок использования метода можно найти в разделе 14.5 и в примере 14.4.


Обработчики событий

Большинство событий, возникающих в HTML-элементах, всплывают вверх по дереву документа до объекта >Document и затем до объекта >Window. По этой причине в объекте >Window можно использовать любые свойства обработчиков событий, которые перечислены в справочной статье >Element. И дополнительно можно использовать свойства обработчиков событий, перечисленные ниже. По историческим причинам каждое из свойств обработчиков событий, перечисленных ниже, можно также определить (в виде HTML-атрибутов или JavaScript-свойств) в элементе >.



Worker

фоновый поток выполнения (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, можно обеспечить прямое взаимодействие между ними, передав их конструкторам концы соединения