[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; 
    } 
}); 
こうやる、と (´・ω・`)

コメント

このブログの人気の投稿

投稿時間:2020-07-01 05:34:30 RSSフィード2020-07-01 05:00 分まとめ(37件)

投稿時間:2020-07-01 20:43:40 RSSフィード2020-07-01 20:00 分まとめ(81件)

投稿時間:2020-07-01 08:33:22 RSSフィード2020-07-01 08:00 分まとめ(49件)