--- title: Worker slug: Web/API/Worker translation_of: Web/API/Worker ---
{{APIRef("Web Workers API")}}
Интерфейс Worker
из Web Workers API является представителем фоновой задачи, которая легко может быть создана и может передавать сообщения обратно создателю. Создание worker - это вызов конструктора Worker()
и задание скрипта, выполняемого в потоке worker.
Workers могут, в свою очередь, порождать новые workers, если эти workers расположены в одном каталоге с родительской страницей (Примечание: вложенные workers в настоящее время не поддерживаются в Blink). Кроме того, workers могут использовать XMLHttpRequest
для network I/O, при условии, что атрибуты responseXML
и channel
XMLHttpRequest
всегда возвращают null
.
Не все интерфейсы и функции могут быть использованы в скрипте, ассоциированном с Worker
.
В Firefox, если вы хотите использовать workers в расширениях и хотели бы иметь доступ к js-ctypes, вам нужно использовать объект {{ domxref("ChromeWorker") }}.
Наследует свойства родителя, {{domxref("EventTarget")}}, и поддерживает свойства из {{domxref("AbstractWorker")}}.
error
. Это событие унаследовано от {{domxref("AbstractWorker")}}.message
— то есть когда сообщение было отправлено воркером в родительский документ с помощью {{domxref("DedicatedWorkerGlobalScope.postMessage")}}. Сообщение передаётся в свойстве объекта события {{domxref("MessageEvent.data", "data")}}.Наследует методы своего родителя, {{domxref("EventTarget")}}, а также реализует методы {{domxref("AbstractWorker")}}.
любым
JavaScript объектом — во внутреннюю область видимости воркера.Представленный фрагмент кода показывает создание объекта {{domxref("Worker")}} с помощью конструктора {{domxref("Worker.Worker", "Worker()")}}, а также его использование:
var myWorker = new Worker("worker.js"); first.onchange = function() { myWorker.postMessage([first.value,second.value]); console.log('Message posted to worker'); }
For a full example, see ourBasic dedicated worker example (run dedicated worker).
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', "#worker", "Worker")}} | {{Spec2('HTML WHATWG')}} | No change from {{SpecName("Web Workers")}}. |
{{SpecName('Web Workers', "#worker", "Worker")}} | {{Spec2('Web Workers')}} | Изначальное определение. |
Поддержка варьируется для разных видов воркеров. Для уточнения смотрите статьи по каждому типу воркеров.
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 4 | 3.5 | 10.0 | 10.6 | 4 |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | 4.4 | 3.5 | 1.0.1 | 10.0 | 11.5 | 5.1 | {{CompatUnknown}} |