此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
ServiceWorkerContainer.register()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2018年4月.
ServiceWorkerContainer 接口的register() 方法创建或更新一个给定 scriptURL 的ServiceWorkerRegistration。
如果成功,一个服务工作者注册将提供的脚本 URL 与一个范围进行关联,后者用于导航匹配。如果该方法无法返回一个ServiceWorkerRegistration,则返回一个Promise。
你可以从受控页无条件调用此方法,即,你不需要首先检查是否有一个有效的注册。
In this article
语法
js
ServiceWorkerContainer.register(scriptURL, options).then( function (ServiceWorkerRegistration) { // do something },);参数
返回
返回一个Promise 对象,值是ServiceWorkerRegistration。
示例
js
if ("serviceWorker" in navigator) { navigator.serviceWorker .register("service-worker.js", { scope: "./" }) .then(function (registration) { document.querySelector("#status").textContent = "succeeded"; }) .catch(function (error) { document.querySelector("#status").textContent = error; });} else { // The current browser doesn't support service workers. let aElement = document.createElement("a"); aElement.href = ` http://www.chromium.org/blink/serviceworker/service-worker-faq `; aElement.textContent = "unavailable"; document.querySelector("#status").appendChild(aElement);}规范
| Specification |
|---|
| Service Workers Nightly> # navigator-service-worker-register> |