Spec-Zone.ru › Web APIs

Рабочий поток с общим доступом: конструктор SharedWorker()

Конструктор SharedWorker() создаёт объект SharedWorker, который выполняет скрипт по указанному URL. Этот скрипт должен подчиняться политике одинакового происхождения.

Примечание: Существуют разногласия между производителями браузеров относительно того, является ли URL-адрес данных тем же самым происхождением или нет. Хотя Firefox 10.0 и более поздние версии принимают URL-адреса данных, это не относится ко всем другим браузерам.

Синтаксис

new SharedWorker(aURL)
new SharedWorker(aURL, name)
new SharedWorker(aURL, options)

Параметры

aURL

Строка, представляющая URL скрипта, который будет выполнять рабочий поток. Он должен подчиняться политике одинакового происхождения.

name Необязательно

Строка, задающая идентифицирующее имя для SharedWorkerGlobalScope, представляющего область действия рабочего потока, что полезно для создания новых экземпляров одного и того же SharedWorker и отладки.

options Необязательно

Объект, содержащий свойства параметров, которые могут быть установлены при создании экземпляра объекта. Доступные свойства следующие:

type

Строка, определяющая тип создаваемого рабочего потока. Значение может быть classic или module. Если не указано, по умолчанию используется classic.

credentials

Строка, определяющая тип используемых учетных данных для рабочего потока. Значение может быть omit, same-origin, или include. Если не указано или если тип classic, по умолчанию используется omit (нет необходимости в учетных данных).

name

Строка, задающая идентифицирующее имя для SharedWorkerGlobalScope, представляющего область действия рабочего потока, что в основном полезно для отладки.

sameSiteCookies

Строка, указывающая, какие SameSite куки должны быть доступны рабочему потоку. Может принимать одно из следующих двух значений:

'all'

SameSite=Strict, SameSite=Lax, и SameSite=None куки будут доступны рабочему потоку. Этот параметр поддерживается только в контексте первого уровня и является значением по умолчанию в контексте первого уровня.

'none'

Только SameSite=None куки будут доступны рабочему потоку. Этот параметр поддерживается в контексте первого и третьего уровня, и является значением по умолчанию в контексте третьего уровня.

Исключения

SecurityError DOMException

Выбрасывается, если документу запрещено запускать рабочие потоки, например, если URL имеет недопустимый синтаксис или нарушается политика одинакового происхождения, или если значение sameSiteCookies не поддерживается в данном контексте.

NetworkError DOMException

Выбрасывается, если MIME-тип скрипта рабочего потока неверный. Он должен всегда быть text/javascript (по историческим причинам другие MIME-типы JavaScript могут быть приняты).

SyntaxError DOMException

Выбрасывается, если aURL не может быть обработана.

Примеры

Следующий фрагмент кода демонстрирует создание объекта SharedWorker с помощью конструктора SharedWorker() и последующее использование объекта:

const myWorker = new SharedWorker("worker.js");

myWorker.port.start();

[first, second].forEach((input) => {
  input.onchange = () => {
    myWorker.port.postMessage([first.value, second.value]);
    console.log("Message posted to worker");
  };
});

myWorker.port.onmessage = (e) => {
  result1.textContent = e.data;
  console.log("Message received from worker");
};

Для получения полного примера см. наш пример простого рабочего потока с общим доступом (запуск рабочего потока с общим доступом.)

Спецификации

Спецификация
HTML
# dom-sharedworker-dev

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
SharedWorker 5 79 29 10.6 165–7 Нет 33 11–14 165–7 4.0–5.0 Нет
ecmascript_modules 80 80 114 67
15["Поддержка вложенных рабочих потоков была добавлена в Safari 15.5.", "Загрузка скрипта во вложенных рабочих потоках была добавлена в Safari 16.4."]
Нет 114 Нет
15["Поддержка вложенных рабочих потоков была добавлена в Safari на iOS 15.5.", "Загрузка скрипта во вложенных рабочих потоках была добавлена в Safari на iOS 16.4."]
Нет Нет
mime_checks Нет Нет 81 Нет 16 Нет 81 Нет 16 Нет Нет
options_name_parameter 70 79 55 57 Нет Нет 55 Нет Нет Нет Нет
options_sameSiteCookies_parameter 125 Нет Нет 111 Нет Нет Нет Нет Нет Нет Нет
options_type_parameter 80 80 114 67 15 Нет 114 Нет 15 Нет Нет

См. также

  • Интерфейс SharedWorker, к которому он относится.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker/SharedWorker

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API