我正在尝试设置我的Service Worker,以便它拦截对主页(即主页,如www.mywebsite.com/
)的请求,这最终将允许我返回一个缓存的模板。到目前为止,我的代码如下所示:
主.js:
navigator.serviceWorker.register('/sw.js')
sw.js:
self.addEventListener('fetch', function(event) {
console.log(event.request.url)
/**
* only ever detects requests for resources but never the route itself..
*
* logged:
* https://www.mywebsite.com/main.js
* https://www.mywebsite.com/myimage.png
*
* not logged:
* https://www.mywebsite.com/
*/
})
我很确定服务人员设置正确,因为我确实检测到为资源请求(如/main.js
或/myimage.png
)而触发的事件。然而,问题是只有资源的事件被触发,即使我希望该事件请求路由本身(/
)被触发。我错过了什么,还是应该听不同的事件?
谢谢