Service Worker 未注册,因为我收到错误“获取脚本时收到错误的 http 响应代码 404”。我可能缺少什么步骤?我已经使用以下方式注册了服务人员:
<script>
if('serviceWorker' in navigator) {
navigator.serviceWorker
.register('/ServiceWorker.js')
.then(function() { console.log("Service Worker Registered"); });
}
</script>
此外,我们可以在 Service Worker 中缓存 .aspx
页面吗?
最佳答案
页面内的此脚本无法找到 /ServiceWorker.js
,可能是由于二选一的原因造成的。文件 /ServiceWorker.js
确实存在您的网站根文件夹中不存在该名称,或者您输入了错误的名称。根本没有缺少任何步骤,并且代码片段看起来没问题。
另一个问题是,你不仅可以缓存字体、CSS 和 JS 等静态文件,还可以缓存任何动态网络响应。
在/ServiceWorker.js
内添加:
self.addEventListener('fetch', function(event) {
console.log(event.request);
});
这将在您的浏览器控制台中记录您尝试请求的 URL 以及您的服务器、图像、文本等。您可以克隆任何响应对象并将其放入缓存中,以便在下次访问时从那里提供服务。
关于javascript - Service Worker 注册问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951121/