Оглавление 3.1. Интерфейс ServiceWorker 3.1.1 Получение эземпляров ServiceWorker 3.1.2 scriptURL 3.1.3 state 3.1.4 postMessage(message, transfer) 3.1.5 postMessage(message, options) 3.1.6 Обработчик событий ServiceWorker 3.2 Интерфейс ServiceWorkerRegistration 3.2.1 Получение экземпляров ServiceWorkerRegistration 3.2.2 installing 3.2.3 waiting 3.2.4 active 3.2.5 navigationPreload 3.2.6 scope 3.2.7 updateViaCache 3.2.8 update() 3.2.9 unregister() 3.2.10 Обработчик событий ServiceWorkerRegistration […]
Архивы по дням: 15.11.2021
[SecureContext, Exposed=(Window,Worker)] interface ServiceWorker : EventTarget { readonly attribute USVString scriptURL; readonly attribute ServiceWorkerState state; undefined postMessage(any message, sequence<object> transfer); undefined postMessage(any message, optional StructuredSerializeOptions options = {}); // событие attribute EventHandler onstatechange; }; ServiceWorker includes AbstractWorker; enum ServiceWorkerState { "parsed", "installing", "installed", "activating", "activated", "redundant" }; Объект […]
Чтобы позволить авторам полностью управлять своими кэшами содержимого для автономного использования, Window и WorkerGlobalScope предоставляют методы асинхронного кэширования, которые открывают и управляют объектами Cache. Источник может иметь несколько именованных объектов Cache, содержимое которых полностью находится под контролем сценариев. Кеши не являются общими для разных источников и полностью изолированы от […]
[Exposed=ServiceWorker] interface Client { readonly attribute USVString url; readonly attribute FrameType frameType; readonly attribute DOMString id; readonly attribute ClientType type; undefined postMessage(any message, sequence<object> transfer); undefined postMessage(any message, optional StructuredSerializeOptions options = {}); }; [Exposed=ServiceWorker] interface WindowClient : Client { readonly attribute VisibilityState visibilityState; readonly attribute boolean focused; [SameObject] readonly […]
[Global=(Worker,ServiceWorker), Exposed=ServiceWorker] interface ServiceWorkerGlobalScope : WorkerGlobalScope { [SameObject] readonly attribute Clients clients; [SameObject] readonly attribute ServiceWorkerRegistration registration; [SameObject] readonly attribute ServiceWorker serviceWorker; [NewObject] Promise<undefined> skipWaiting(); attribute EventHandler oninstall; attribute EventHandler onactivate; attribute EventHandler onfetch; attribute EventHandler onmessage; attribute EventHandler onmessageerror; }; Объект ServiceWorkerGlobalScope представляет глобальный контекст выполнения работника службы. […]
[SecureContext, Exposed=(Window,Worker)] interface NavigationPreloadManager { Promise<undefined> enable(); Promise<undefined> disable(); Promise<undefined> setHeaderValue(ByteString value); Promise<NavigationPreloadState> getState(); }; dictionary NavigationPreloadState { boolean enabled = false; ByteString headerValue; }; 3.6.1 Метод enable() Шаги метода enable(): 1. Пусть обещание promise станет новым обещанием. 2. Параллельно выполните следующие шаги: 3. Пусть регистрация registration будет связанной […]
Следующее событие отправляется в объект ServiceWorker: Имя события Интерфейс Отправлено, когда… statechange Event Атрибут состояния state объекта ServiceWorker изменён. Следующее событие отправляется в объект ServiceWorkerRegistration: Имя события Интерфейс Отправлено, когда… updatefound Event Изменяется регистрация работника службы, устанавливающего работника. (См. Шаг 8 алгоритма установки.) Следующие события отправляются объекту ServiceWorkerContainer: Имя […]
[SecureContext, Exposed=(Window, Worker)] interface ServiceWorkerContainer : EventTarget { readonly attribute ServiceWorker? controller; readonly attribute Promise<ServiceWorkerRegistration> ready; [NewObject] Promise<ServiceWorkerRegistration> register(USVString scriptURL, optional RegistrationOptions options = {}); [NewObject] Promise<(ServiceWorkerRegistration or undefined)> getRegistration(optional USVString clientURL = ""); [NewObject] Promise<FrozenArray<ServiceWorkerRegistration>> getRegistrations(); undefined startMessages(); // события attribute EventHandler oncontrollerchange; attribute EventHandler onmessage; // event.source of […]