私は、私のウェブサイトから送信されたすべてのAJAX要求を処理するための基本的なサービスワーカーを構築しようとしています。サービスワーカーを使用して、最初からフェッチイベントを処理する方法は?
サービスワーカーがfetchイベントを購読しています。送信された要求はすべて処理できますが、サービスワーカーが初めてインストールされたときは機能しません。
サービスワーカーがインストールされると、Webページを更新すると、フェッチイベントハンドラが機能します。
サービスワーカーがすべての要求を最初から取得したいと思っています。出来ますか?
ここで私が持っているコードです:
index.htmlを
<!DOCTYPE html>
<html>
<body>
<h2>Service Worker Demo Page</h2>
<script type="text/javascript">
if (navigator.serviceWorker) {
navigator.serviceWorker.register('./sw.js')
.then(function (registration) {
console.debug('Registration within scope %s. More details %O', registration.scope, registration);
return fetch('https://www.google.com');
})
.then(console.info)
.catch(console.warn);
}
</script>
</body>
sw.js
self.addEventListener('fetch', function (e) {
console.info('%s request to %s. More details: %o'
, e.request.method
, e.request.url
, e
);
});