我正在使用 Chrome 稳定版 46。
我有一个非常基本的网站。一个 button.onclickfetch('a')
和一个<a>
打开的标签b
。两个 url都不存在,我打算在服务人员中捕获它们并返回a
一个.b
new Response()
如果我单击 fetches 的按钮,a
则不涉及服务人员,我会收到 404 错误。
但是,如果我单击指向 的链接,b
服务人员会获取并返回响应。
问题:为什么服务人员没有收到fetch('a')
请求的任何 FetchEvent?
请参阅下面的文件
HTML
<html>
<body>
<p><button onclick="fetch('a');">fetch a</button></p>
<p><a href="b">go to b</a></p>
<script src="js.js" defer></script>
</body>
</html>
js.js
navigator.serviceWorker.register('sw.js');
sw.js
self.onfetch = function(event) {
var request = event.request;
event.respondWith(
caches.match(request).then(function(response) {
return new Response('here is your onfetch response');
})
);
};