-
StackOverflow 文档
-
JavaScript 教程
-
工作人员
-
注册服务工作者
// Check if service worker is available.
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
console.log('SW registration succeeded with scope:', registration.scope);
}).catch(function(e) {
console.log('SW registration failed with error:', e);
});
}
- 你可以在每个页面加载时调用
register()
。如果已注册 SW,则浏览器会为你提供已在运行的实例
- SW 文件可以是任何名称。
sw.js
很常见。
- SW 文件的位置很重要,因为它定义了 SW 的范围。例如,
/js/sw.js
上的 SW 文件只能拦截以/js/
开头的文件的 fetch
请求。因此,你通常会在项目的顶级目录中看到 SW 文件。