[ServiceWorker] ブラウザのjsからServiceWorkerに値を渡す

[ServiceWorker] ブラウザのjsからServiceWorkerに値を渡す:


前提

  1. hoge.phpにリクエストを投げる。
  2. そのレスポンスにあるfugaというデータをServiceWorkerの中で使いたい。


ソース

レスポンスを受け取ったxxx.jsからmessageイベントを利用すると、たぶん一番簡便。

xxx.js
if ('serviceWorker' in navigator) { 
    navigator.serviceWorker.controller.postMessage({type: 'hoge', fuga: xxx}); 
} 
ブラウザ側ではこうやっておいて…

ServiceWorker.js
self.addEventListener('message', event => { 
    switch (event.data.type) { 
        case 'hoge': 
            console.log(event.data.fuga); 
            break; 
    } 
}); 
こうやる、と (´・ω・`)

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)