{ "api": { "ServiceWorker": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker", "spec_url": "https://w3c.github.io/ServiceWorker/#serviceworker-interface", "tags": [ "web-features:service-workers" ], "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": "14", "notes": "Exposed only to apps configured with App Bound Domains (up to 10 domains) or apps with the Web Browser entitlement." } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } }, "ecmascript_modules": { "__compat": { "description": "Support for ECMAScript modules", "spec_url": "https://w3c.github.io/ServiceWorker/#is-async-module-algorithm", "tags": [ "web-features:js-modules-service-workers" ], "support": { "chrome": { "version_added": "91" }, "chrome_android": "mirror", "edge": "mirror", "firefox": { "version_added": "147" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "15", "notes": [ "Nested workers support was introduced in Safari 15.5.", "Script loading in nested workers was introduced in Safari 16.4." ] }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } }, "error_event": { "__compat": { "description": "`error` event", "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker/error_event", "spec_url": "https://html.spec.whatwg.org/multipage/workers.html#handler-abstractworker-onerror", "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } }, "postMessage": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker/postMessage", "spec_url": [ "https://w3c.github.io/ServiceWorker/#dom-serviceworker-postmessage", "https://w3c.github.io/ServiceWorker/#dom-serviceworker-postmessage-message-options" ], "tags": [ "web-features:service-workers" ], "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } }, "scriptURL": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker/scriptURL", "spec_url": "https://w3c.github.io/ServiceWorker/#service-worker-url", "tags": [ "web-features:service-workers" ], "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } }, "state": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker/state", "spec_url": "https://w3c.github.io/ServiceWorker/#service-worker-state", "tags": [ "web-features:service-workers" ], "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } }, "statechange_event": { "__compat": { "description": "`statechange` event", "mdn_url": "https://developer.mozilla.org/docs/Web/API/ServiceWorker/statechange_event", "spec_url": "https://w3c.github.io/ServiceWorker/#dom-serviceworker-onstatechange", "tags": [ "web-features:service-workers" ], "support": { "chrome": { "version_added": "40" }, "chrome_android": "mirror", "edge": { "version_added": "17" }, "firefox": { "version_added": "44" }, "firefox_android": "mirror", "oculus": "mirror", "opera": "mirror", "opera_android": "mirror", "safari": { "version_added": "11.1" }, "safari_ios": "mirror", "samsunginternet_android": "mirror", "webview_android": "mirror", "webview_ios": { "version_added": false } }, "status": { "experimental": false, "standard_track": true, "deprecated": false } } } } } }