WorkerGlobalScope
Примечание: Эта функция доступна только в Потоках Web Workers.
Интерфейс WorkerGlobalScope API Потоков Web Workers представляет собой интерфейс, представляющий область видимости любого потока. У потоков нет контекста браузера; эта область видимости содержит информацию, обычно передаваемую объектами Window — в данном случае обработчики событий, консоль или связанный объект WorkerNavigator. Каждый WorkerGlobalScope имеет свою собственную очередь событий.
Этот интерфейс обычно специализируется для каждого типа потока: DedicatedWorkerGlobalScope для выделенных потоков, SharedWorkerGlobalScope для общих потоков и ServiceWorkerGlobalScope для ServiceWorker. Свойство self возвращает специализированную область видимости для каждого контекста.
Свойства экземпляра
Этот интерфейс наследует свойства от интерфейса EventTarget.
-
WorkerGlobalScope.cachesТолько для чтения Безопасный контекст -
Возвращает объект
CacheStorage, связанный с текущим контекстом. Этот объект позволяет выполнять такие функции, как хранение ресурсов для автономного использования и создание пользовательских ответов на запросы. -
consoleТолько для чтения Нестандартный -
Возвращает связанную с потоком
console. -
WorkerGlobalScope.crossOriginIsolatedТолько для чтения -
Возвращает значение boolean, указывающее, находится ли веб-сайт в состоянии изоляции кросс-оригина.
-
WorkerGlobalScope.cryptoТолько для чтения -
Возвращает объект
Crypto, связанный с глобальным объектом. -
WorkerGlobalScope.fontsТолько для чтения -
Возвращает связанный с потоком
FontFaceSet. -
WorkerGlobalScope.indexedDBТолько для чтения -
Предоставляет механизм для потоков асинхронного доступа к возможностям индексированных баз данных; возвращает объект
IDBFactory. -
WorkerGlobalScope.isSecureContextТолько для чтения -
Возвращает boolean, указывающий, является ли текущий контекст защищенным (
true) или нет (false). -
WorkerGlobalScope.locationТолько для чтения -
Возвращает связанный с потоком
WorkerLocation. Это специфический объект местоположения, в основном подмножество объектаLocationдля областей видимости браузера, но адаптирован для потоков. -
Возвращает связанный с потоком
WorkerNavigator. Это специфический объект навигатора, в основном подмножество объектаNavigatorдля областей видимости браузера, но адаптирован для потоков. -
WorkerGlobalScope.originТолько для чтения -
Возвращает происхождение глобального объекта, сериализованное в виде строки.
-
WorkerGlobalScope.performanceТолько для чтения -
Возвращает связанный с потоком
Performance. Для потоков доступно только подмножество свойств и методов интерфейсаPerformance. -
WorkerGlobalScope.schedulerТолько для чтения -
Возвращает объект
Scheduler, связанный с текущим контекстом. Это точка входа для использования API Приоритетного планирования задач. -
WorkerGlobalScope.trustedTypesТолько для чтения -
Возвращает объект
TrustedTypePolicyFactory, связанный с глобальным объектом, предоставляющий точку входа для использования API Trusted Types. -
WorkerGlobalScope.selfТолько для чтения -
Возвращает ссылку на сам
WorkerGlobalScope. В большинстве случаев это определенная область видимости, например,DedicatedWorkerGlobalScope,SharedWorkerGlobalScopeилиServiceWorkerGlobalScope.
Методы экземпляра
Этот интерфейс наследует методы от интерфейса EventTarget.
WorkerGlobalScope.atob()-
Декодирует строку данных, закодированную с использованием кодирования base-64.
WorkerGlobalScope.btoa()-
Создаёт строку base-64, закодированную строку ASCII из строки двоичных данных.
WorkerGlobalScope.clearInterval()-
Отменяет повторяющееся выполнение, заданное с помощью
WorkerGlobalScope.setInterval(). WorkerGlobalScope.clearTimeout()-
Отменяет отложенное выполнение, заданное с помощью
WorkerGlobalScope.setTimeout(). WorkerGlobalScope.createImageBitmap()-
Принимает различные источники изображений и возвращает
Promise, который разрешается вImageBitmap. Дополнительно, источник обрезается до прямоугольника пикселей, начинающегося в точке (sx, sy) с шириной sw и высотой sh. -
WorkerGlobalScope.dump()Устаревший Нестандартный -
Позволяет записать сообщение в stdout — т.е. в терминал. Это то же самое, что
window.dumpв Firefox, но для потоков. WorkerGlobalScope.fetch()-
Запускает процесс получения ресурса из сети.
WorkerGlobalScope.importScripts()-
Импортирует один или несколько скриптов в область видимости потока. Можно указать любое количество, разделенных запятыми. Например:
importScripts('foo.js', 'bar.js');. WorkerGlobalScope.queueMicrotask()-
Добавляет микрозадачу в очередь для выполнения в безопасное время до того, как управление вернётся в цикл событий браузера.
WorkerGlobalScope.setInterval()-
Планирует выполнение функции каждые заданные миллисекунды.
WorkerGlobalScope.setTimeout()-
Планирует выполнение функции через указанное время.
WorkerGlobalScope.structuredClone()-
Создаёт глубокую копию заданного значения с использованием алгоритма структурированного клонирования.
WorkerGlobalScope.reportError()-
Сообщает об ошибке в скрипте, имитируя необработанное исключение.
События
error-
Вызывается при возникновении ошибки.
languagechange-
Вызывается в глобальном/рабочем объекте области видимости, когда меняются предпочитаемые языки пользователя.
offline-
Вызывается, когда браузер потерял доступ к сети, и значение
navigator.onLineпереключено наfalse. online-
Вызывается, когда браузер получил доступ к сети, и значение
navigator.onLineпереключено наtrue. rejectionhandled-
Вызывается при обработанных событиях отклонения
Promise. securitypolicyviolation-
Вызывается, когда нарушен Политика безопасности контента.
unhandledrejection-
Вызывается при необработанных событиях отклонения
Promise.
Пример
Вы не будете напрямую обращаться к WorkerGlobalScope в своём коде; однако его свойства и методы наследуются более конкретными глобальными областями видимости, такими как DedicatedWorkerGlobalScope и SharedWorkerGlobalScope. Например, вы можете импортировать другой скрипт в рабочий процесс и вывести содержимое объекта области видимости рабочего процесса navigator с помощью двух следующих строк:
importScripts("foo.js");
console.log(navigator);
Примечание: Поскольку глобальная область видимости скрипта рабочего процесса фактически является глобальной областью видимости рабочего процесса, который вы запускаете (DedicatedWorkerGlobalScope или любой другой), и все глобальные области видимости рабочих процессов наследуют методы, свойства и т. д. от WorkerGlobalScope, вы можете запускать строки, подобные приведенным выше, без указания родительского объекта.
Спецификации
| Спецификация |
|---|
| HTML # the-workerglobalscope-common-interface |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari в iOS | Samsung Internet | WebView Android | |
WorkerGlobalScope |
4 | 12 | 3.5 | 10.6 | 4 | 18 | 4 | 11 | 5 | 1.0 | 4.4 |
dump |
Нет | Нет | 3.5Этот метод существует, но не оказывает никакого эффекта. |
Нет | Нет | Нет | 4Этот метод существует, но не оказывает никакого эффекта. |
Нет | Нет | Нет | Нет |
error_event |
4 | 12 | 3.5 | 11.5 | 4 | 18 | 4 | 14 | 5 | 1.0 | 4.4 |
fonts |
69 | 79 | 105 | 56 | 15 | 69 | 105 | 48 | 15 | 10.0 | 69 |
importScripts |
4 | 12 | 4 | 10.6 | 4 | 18 | 4 | 11 | 5 | 1.0 | 4.4 |
languagechange_event |
4 | 79 | 74 | 11.5 | Нет | 18 | 79 | 14 | Нет | 1.0 | ≤37 |
unhandledrejection_event |
49 | 79 | 69 | 36 | 11 | 49 | 79 | 36 | 11 | 5.0 | 49 |
См. также
- Другие интерфейсы глобальных объектов:
Window,DedicatedWorkerGlobalScope,SharedWorkerGlobalScope,ServiceWorkerGlobalScope - Другие интерфейсы, связанные с рабочими процессами:
Worker,WorkerLocationиWorkerNavigator - Использование рабочих процессов
© 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/WorkerGlobalScope