pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API

„ã¾ã™ã€‚ã“れã¯ã€ã‚ˆã‚Šã‚ˆã„ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®æ“作性をå¯èƒ½ã«ã™ã‚‹ã‚ˆã†ã«æ„図ã•れã¦ãŠã‚Šã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ä»‹åœ¨ã—ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä½¿ç”¨å¯å¦ã®çжæ³ã«åŸºã¥ã„ã¦é©åˆ‡ãªå¯¾å¿œã‚’å–ã£ãŸã‚Šã€ã‚µãƒ¼ãƒãƒ¼ä¸Šã«ã‚る資産を更新ã—ãŸã‚Šã—ã¾ã™ã€‚ã¾ãŸã€ãƒ—ッシュ通知やãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰åŒæœŸã® API 群ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚‚ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚" />

ã“ã®ãƒšãƒ¼ã‚¸ã¯ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ãƒ¼ã®å°½åŠ›ã§è‹±èªžã‹ã‚‰ç¿»è¨³ã•れã¾ã—ãŸã€‚MDN Web Docs コミュニティーã«ã¤ã„ã¦ã‚‚ã£ã¨çŸ¥ã‚Šã€ä»²é–“ã«ãªã‚‹ã«ã¯ã“ã¡ã‚‰ã‹ã‚‰ã€‚

View in English Always switch to English

サービスワーカー API

メモ: ã“ã®æ©Ÿèƒ½ã¯ã‚¦ã‚§ãƒ–ワーカー内ã§åˆ©ç”¨å¯èƒ½ã§ã™ã€‚

サービスワーカーã¯ã€åŸºæœ¬çš„ã«ã‚¦ã‚§ãƒ–アプリケーションã€ãƒ–ラウザーã€ãã—ã¦ï¼ˆã‚‚ã—繋ãŒã£ã¦ã„れã°ï¼‰ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®é–“ã«ä»‹åœ¨ã™ã‚‹ãƒ—ロキシーサーãƒãƒ¼ã®ã‚ˆã†ã«æŒ¯ã‚‹èˆžã„ã¾ã™ã€‚ã“れã¯ã€ã‚ˆã‚Šã‚ˆã„ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®æ“作性をå¯èƒ½ã«ã™ã‚‹ã‚ˆã†ã«æ„図ã•れã¦ãŠã‚Šã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«ä»‹åœ¨ã—ã¦ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ä½¿ç”¨å¯å¦ã®çжæ³ã«åŸºã¥ã„ã¦é©åˆ‡ãªå¯¾å¿œã‚’å–ã£ãŸã‚Šã€ã‚µãƒ¼ãƒãƒ¼ä¸Šã«ã‚る資産を更新ã—ãŸã‚Šã—ã¾ã™ã€‚ã¾ãŸã€ãƒ—ッシュ通知やãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰åŒæœŸã® API 群ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚‚ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

ã‚µãƒ¼ãƒ“ã‚¹ãƒ¯ãƒ¼ã‚«ãƒ¼ã®æ¦‚念ã¨ä½¿ã„æ–¹

サービスワーカーã¯ã€ã‚るオリジンã¨ãƒ‘スã«å¯¾ã—ã¦ç™»éŒ²ã•れãŸã‚¤ãƒ™ãƒ³ãƒˆé§†å‹•åž‹ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã§ã™ã€‚ JavaScript ファイルã®å½¢ã‚’å–りã€ãƒŠãƒ“ゲーションやリソースã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’横å–りや改変ã—ãŸã‚Šç´°ã‹ã„粒度ã§ãƒªã‚½ãƒ¼ã‚¹ã‚’キャッシュã™ã‚‹ã“ã¨ã§é–¢é€£ä»˜ã‘られãŸã‚¦ã‚§ãƒ–ページやサイトを制御ã—ã€ãれãžã‚Œã®çжæ³ï¼ˆã‚‚ã£ã¨ã‚‚é¡•è‘—ãªä¾‹ã¯ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒåˆ©ç”¨ã§ããªã„ã¨ã)ã«ã‚¢ãƒ—リãŒã©ã®ã‚ˆã†ã«æŒ¯ã‚‹èˆžã†ã‹ã‚’完全ã«åˆ¶å¾¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

サービスワーカーã¯ãƒ¯ãƒ¼ã‚«ãƒ¼ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§å®Ÿè¡Œã•れã¾ã™ã€‚従ã£ã¦ã€DOM ã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ããšã€ã‚¢ãƒ—リを実行ã™ã‚‹ä¸»è¦ãª JavaScript ã¨ã¯ç•°ãªã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã§å®Ÿè¡Œã•れるãŸã‚ã€ä»–ã®ã‚¿ã‚¹ã‚¯ã‚’ブロックã™ã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。完全ã«éžåŒæœŸã§è¨­è¨ˆã•れã¦ã„ã¾ã™ã€‚ãã®ãŸã‚ã€åŒæœŸåž‹ã® XHR やウェブストレージã®ã‚ˆã†ãª API をサービスワーカーã§ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

サービスワーカー㮠JavaScript モジュールã¯å‹•çš„ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã§ããšã€import() ã¯ã‚µãƒ¼ãƒ“スワーカーã®ã‚°ãƒ­ãƒ¼ãƒãƒ«ã‚¹ã‚³ãƒ¼ãƒ—ã§å‘¼ã³å‡ºã•れるã¨ä¾‹å¤–を発生ã—ã¾ã™ã€‚ import 文を使用ã—ãŸé™çš„インãƒãƒ¼ãƒˆã¯è¨±å¯ã•れã¦ã„ã¾ã™ã€‚

サービスワーカーã¯ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®ç†ç”±ã‹ã‚‰ã€ HTTPS 通信ã§ã®ã¿å‹•作ã—ã¾ã™ã€‚最もé‡è¦ãªã“ã¨ã¯ã€HTTP 接続ã¯ä¸­é–“者攻撃ã«ã‚ˆã‚‹æ‚ªæ„ã®ã‚るコード注入ã®å½±éŸ¿ã‚’å—ã‘ã‚„ã™ãã€ã“ã†ã—ãŸå¼·åŠ›ãª API ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã•れるã¨ã€ãã®æ”»æ’ƒã¯ã‚ˆã‚Šæ‚ªã„ã‚‚ã®ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚Firefox ã§ã¯ãƒ—ライベートブラウジングモードã§ã‚µãƒ¼ãƒ“スワーカー API を利用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

メモ: Firefox ã§ã¯ã€ãƒ†ã‚¹ãƒˆã®ãŸã‚ã«ã‚µãƒ¼ãƒ“スワーカーを HTTP (安全ã§ã¯ãªã„) 上ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã¯ã€ HTTP ã«ã‚ˆã‚‹ã‚µãƒ¼ãƒ“スワーカーを有効化 (ツールボックスを開ã„ãŸã¨ã) オプションを Firefox Devtools 設定メニューã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã ã‘ã§ã™ã€‚

メモ: サービスワーカー㯠AppCache ã®ã‚ˆã†ãªã€ã“ã®åˆ†é‡Žã«ãŠã‘る以å‰ã®è©¦ã¿ã‚ˆã‚Šå‹ã£ã¦ã„ã¾ã™ã€‚以å‰ã®ã‚‚ã®ã¯ã€ã‚ãªãŸãŒã—よã†ã¨ã—ã¦ã„ã‚‹ã“ã¨ã‚’想定ã—ã¦ã„ãªã‹ã£ãŸã‚Šã€æƒ³å®šãŒæ­£ã—ããªã‹ã£ãŸã¨ãã«å£Šã‚ŒãŸã‚Šã—ã¦ã„ãŸã®ã«å¯¾ã—ã¦ã€ã‚µãƒ¼ãƒ“スワーカーã¯ã‚ãªãŸãŒã™ã¹ã¦ã‚’ç´°ã‹ã制御ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ãŸã‚ã§ã™ã€‚

メモ: サービスワーカーã¯ãƒ—ロミスを頻ç¹ã«ä½¿ç”¨ã—ã¦ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒæ¥ã‚‹ã®ã‚’å¾…ã£ã¦ã‹ã‚‰ã€æˆåŠŸã¾ãŸã¯å¤±æ•—ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã§å¿œç­”ã—ã¾ã™ã€‚プロミスã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã¯ã“ã®é ˜åŸŸã«å¯¾ã—ã¦ç†æƒ³çš„ãªã‚‚ã®ã§ã™ã€‚

登録

ã‚µãƒ¼ãƒ“ã‚¹ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯æœ€åˆã« ServiceWorkerContainer.register() メソッドを使ã£ã¦ç™»éŒ²ã•れã¾ã™ã€‚æˆåŠŸã—ãŸã‚‰ã€ã‚µãƒ¼ãƒ“スワーカーãŒã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã•れã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚¢ã‚¯ã‚»ã‚¹ã—㟠URL ã®ã‚ªãƒªã‚¸ãƒ³å†…全体ã€ã¾ãŸã¯æŒ‡å®šã—ãŸãã®ã‚µãƒ–セット内ã«å¯¾ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨æœ‰åŠ¹åŒ–ï¼ˆä¸‹è¨˜å‚照)ãŒè©¦ã¿ã‚‰ã‚Œã¾ã™ã€‚

ダウンロードã¨ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨æœ‰åŠ¹åŒ–

ã“ã®æ®µéšŽã§ã€ã‚µãƒ¼ãƒ“スワーカーã¯ä»¥ä¸‹ã®ãƒ©ã‚¤ãƒ•サイクルã§å®Ÿè¡Œã•れã¾ã™ã€‚

  1. ダウンロード
  2. インストール
  3. 有効化

ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœ€åˆã«ã‚µãƒ¼ãƒ“スワーカーãŒåˆ¶å¾¡ã™ã‚‹ã‚µã‚¤ãƒˆã‚„ページã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒ“スワーカーãŒç›´ã¡ã«ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã•れã¾ã™ã€‚

ãã®å¾Œã€æ¬¡ã®å ´é¢ã§æ›´æ–°ã•れã¾ã™ã€‚

  • スコープ内ã®ãƒšãƒ¼ã‚¸ã¸ã®ç§»å‹•ãŒç™ºç”Ÿã—ãŸã¨ã
  • サービスワーカーã§ã‚¤ãƒ™ãƒ³ãƒˆãŒç™ºç”Ÿã—ã€ã‹ã¤éŽåŽ» 24 時間以内ã«ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ãŒè¡Œã‚れã¦ã„ãªã„å ´åˆ

ダウンロードã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ãŒæ–°ã—ã„ã¨åˆ†ã‹ã£ãŸå ´åˆã€æ—¢å­˜ã®ã‚µãƒ¼ãƒ“スワーカーã¨ãƒã‚¤ãƒˆå˜ä½ã«æ¯”較ã—ã¦ç•°ãªã£ã¦ã„ãŸå ´åˆã‚„ã€ãã®ãƒšãƒ¼ã‚¸ã‚„ã‚µã‚¤ãƒˆã§æœ€åˆã®ã‚µãƒ¼ãƒ“スワーカーãŒè¦‹ã¤ã‹ã£ãŸå ´åˆã¯ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒè©¦ã¿ã‚‰ã‚Œã¾ã™ã€‚

サービスワーカーãŒåˆã‚ã¦æœ‰åŠ¹åŒ–ã•れるã¨ãã§ã‚れã°ã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒè©¦ã¿ã‚‰ã‚Œã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«æˆåŠŸã—ãŸå¾Œã§ã€æœ‰åŠ¹åŒ–ã•れã¾ã™ã€‚

利用ã§ãる既存ã®ã‚µãƒ¼ãƒ“スワーカーãŒã‚ã£ãŸå ´åˆã¯ã€æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¾ã™ãŒã€ã¾ã æœ‰åŠ¹åŒ– (activate) ã•れã¾ã›ã‚“。ã“ã®æ™‚点ã®ã‚‚ã®ã‚’待機中 (waiting) ã®ãƒ¯ãƒ¼ã‚«ãƒ¼ã¨å‘¼ã³ã¾ã™ã€‚ã¾ã ä½¿ç”¨ã—ã¦ã„ã‚‹å¤ã„サービスワーカーãŒèª­ã¿è¾¼ã‚“ã§ã„るページãŒãªããªã£ãŸæ™‚ã®ã¿ã€æœ‰åŠ¹åŒ–ã•れã¾ã™ã€‚ページãŒèª­ã¿è¾¼ã¾ã‚Œãªããªã£ãŸã‚‰ã™ãã«ã€æ–°ã—ã„ã‚µãƒ¼ãƒ“ã‚¹ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒæœ‰åŠ¹åŒ–ã•れã¾ã™ï¼ˆã‚¢ã‚¯ãƒ†ã‚£ãƒ–ワーカーã«ãªã‚Šã¾ã™ï¼‰ã€‚ ServiceWorkerGlobalScope.skipWaiting() を使用ã™ã‚‹ã¨ã™ãã«æœ‰åŠ¹åŒ–ã™ã‚‹ã“ã¨ãŒã§ã〠Clients.claim() を使用ã—ã¦ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãƒ¯ãƒ¼ã‚«ãƒ¼ãŒæ—¢å­˜ã®ãƒšãƒ¼ã‚¸ã®ç®¡ç†ã‚’å§‹ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

install ã‚’å—ã‘å–ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚イベントãŒç™ºè¡Œã•れãŸã¨ãã®æ¨™æº–çš„ãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ä½¿ç”¨ã™ã‚‹ãŸã‚ã«ã‚µãƒ¼ãƒ“スワーカーを準備ã™ã‚‹ã“ã¨ã€ä¾‹ãˆã°çµ„è¾¼ã¿ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ API を使用ã—ã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’構築ã—ãŸã‚Šã€ã‚¢ãƒ—リãŒã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®æ™‚ã«ä½¿ç”¨ã—ãŸã„資産をãã®ä¸­ã«é…ç½®ã—ãŸã‚Šã™ã‚‹ã“ã¨ã§ã™ã€‚

activate イベントもã‚りã¾ã™ã€‚ã“ã®ã‚¤ãƒ™ãƒ³ãƒˆãŒç™ºè¡Œã•ã‚ŒãŸæ™‚点ã¯ã€å¤ã„キャッシュやã€å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚µãƒ¼ãƒ“スワーカーã«é–¢ã™ã‚‹ãã®ä»–ã®ã‚‚ã®ã‚’æ•´ç†ã™ã‚‹ã®ã«ã‚ˆã„タイミングã§ã™ã€‚

サービスワーカー㯠FetchEvent イベントを使用ã—ã¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¿œç­”ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚FetchEvent.respondWith() メソッドを使用ã—ã¦ã€ã“れらã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’何ã§ã‚‚æ€ã†ã‚ˆã†ã«å¤‰æ›´ã§ãã¾ã™ã€‚

メモ: install/activate イベントã¯å®Œäº†ã™ã‚‹ã¾ã§ã«æ™‚é–“ãŒã‹ã‹ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ã‚µãƒ¼ãƒ“スワーカーã®ä»•様書ã§ã¯ waitUntil() メソッドをæä¾›ã—ã¦ã„ã¾ã™ã€‚ install ã¾ãŸã¯ activate イベント内ã§ãƒ—ロミスを指定ã—ã¦ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã¨ã€ãƒ—ãƒ­ãƒŸã‚¹ãŒæ­£å¸¸ã«è§£æ±ºã•れるã¾ã§ã€ fetch ã‚„ push ãªã©ã®é–¢æ•°ã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚µãƒ¼ãƒ“スワーカーã«é…ä¿¡ã•れã¾ã›ã‚“。

最åˆã®åŸºæœ¬çš„ãªä¾‹ã‚’ã©ã®ã‚ˆã†ã«æ§‹ç¯‰ã™ã‚‹ã‹ã«ã¤ã„ã¦ã®å®Œå…¨ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯ã€ã‚µãƒ¼ãƒ“スワーカーã®ä½¿ç”¨ã‚’読んã§ãã ã•ã„。

é™çš„ルーティングを使用ã—ã¦ã€ãƒªã‚½ãƒ¼ã‚¹ã®å–得方法を制御

サービスワーカーã¯ã€ä¸è¦ãªãƒ‘フォーマンスコストãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ã—ã°ã‚‰ãã¶ã‚Šã«ãƒšãƒ¼ã‚¸ãŒåˆã‚ã¦èª­ã¿è¾¼ã¾ã‚Œã‚‹å ´åˆã€ãƒ–ラウザーã¯ã‚µãƒ¼ãƒ“スワーカーãŒèµ·å‹•ã—ã¦å®Ÿè¡Œã•れるã®ã‚’å¾…ãŸãªã‘れã°ã€ã©ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を読ã¿è¾¼ã‚€ã¹ãã‹ã€ã¾ãŸã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã¾ãŸã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ã©ã¡ã‚‰ã‹ã‚‰å–å¾—ã™ã¹ãã‹ã‚’判断ã§ãã¾ã›ã‚“。

特定ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒã©ã“ã‹ã‚‰å–å¾—ã•れるã¹ãã‹äº‹å‰ã«åˆ†ã‹ã£ã¦ã„ã‚‹å ´åˆã¯ã€ã‚µãƒ¼ãƒ“スワーカーを完全ã«ãƒã‚¤ãƒ‘スã—ã¦ã€ãƒªã‚½ãƒ¼ã‚¹ã‚’å³åº§ã«å–å¾—ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚InstallEvent.addRoutes() メソッドã¯ã€ã“ã®ä½¿ç”¨äº‹ä¾‹ã‚„ãã®ä»–ã®å®Ÿè£…ã«ã‚‚使用ã§ãã¾ã™ã€‚

ãã®ä»–ã®ä½¿ç”¨ä¾‹

ã‚µãƒ¼ãƒ“ã‚¹ãƒ¯ãƒ¼ã‚«ãƒ¼ã¯æ¬¡ã®ã‚ˆã†ãªç”¨é€”も想定ã—ã¦ã„ã¾ã™ã€‚

  • ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã®ãƒ‡ãƒ¼ã‚¿åŒæœŸã€‚
  • ä»–ã®ã‚ªãƒªã‚¸ãƒ³ã‹ã‚‰ã®ãƒªã‚½ãƒ¼ã‚¹ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹å¿œç­”。
  • ä½ç½®æƒ…報やジャイロスコープã®ã‚ˆã†ãªè¨ˆç®—コストã®é«˜ã„ãƒ‡ãƒ¼ã‚¿ã®æ›´æ–°ã‚’集中的ã«å—ä¿¡ã—ã¦ã€è¤‡æ•°ã®ãƒšãƒ¼ã‚¸ãŒãƒ‡ãƒ¼ã‚¿ã®ä¸€éƒ¨ã‚’利用ã§ãるよã†ã«ã™ã‚‹ã“ã¨ã€‚
  • CoffeeScript, less, CJS/AMD モジュールãªã©ã®é–‹ç™ºç”¨é€”ã§ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã®ã‚³ãƒ³ãƒ‘イルやä¾å­˜æ€§ç®¡ç†ã€‚
  • ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚µãƒ¼ãƒ“スã®ãƒ•ック。
  • 特定㮠URL パターンã«åŸºã¥ãテンプレートカスタマイズ。
  • パフォーマンスã®å‘上ã€ä¾‹ãˆã°ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæ¬¡ã«å¿…è¦ã¨ã™ã‚‹å¯èƒ½æ€§ãŒé«˜ã„リソース(例ãˆã°ã€ãƒ•ォトアルãƒãƒ ã®æ¬¡ã®æ•°æžšã®å†™çœŸï¼‰ã‚’事å‰ã«å–å¾—ã™ã‚‹ãªã©ã€‚
  • API ã®ãƒ¢ãƒƒã‚¯ã‚¢ãƒƒãƒ—。

è¿‘ã„å°†æ¥ã€ã‚µãƒ¼ãƒ“スワーカーã¯ãƒã‚¤ãƒ†ã‚£ãƒ–アプリã§å®Ÿç¾ã§ãã‚‹ã“ã¨ã«è¿‘ã„ã€ãã®ä»–ã„ãã¤ã‚‚ã®ä¾¿åˆ©ãªã“ã¨ã‚’ã€ã‚¦ã‚§ãƒ–プラットフォーム上ã§ã‚‚実ç¾ã™ã‚‹äº‹ãŒã§ãるよã†ã«ãªã‚‹ã§ã—ょã†ã€‚興味深ã„ã“ã¨ã«ã€æ¬¡ã®ã‚ˆã†ãªä»–ã®ä»•様書ã§ã‚‚ã€ã‚µãƒ¼ãƒ“スワーカーã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’利用ã§ãるよã†ã«ãªã£ã¦ãã¦ã„ã¾ã™ã€‚

  • ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰åŒæœŸ: ユーザーãŒã‚µã‚¤ãƒˆã«ã„ãªã„ã¨ãã«ã‚‚サービスワーカーを起動ã—ã€ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’æ›´æ–°ã—ãŸã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
  • プッシュメッセージã¸ã®å¿œç­”: æ–°ã—ã„コンテンツãŒåˆ©ç”¨å¯èƒ½ã«ãªã£ãŸæ—¨ã‚’ä¼ãˆã‚‹ãŸã‚ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ãŸã‚ã«ã‚µãƒ¼ãƒ“スワーカーを起動ã—ã¾ã™ã€‚
  • ç‰¹å®šã®æ—¥ä»˜ãƒ»æ™‚刻ã«å¯¾ã™ã‚‹å応
  • 特定ã®åœ°ç†çš„範囲ã¸å…¥ã£ãŸäº‹ã‚’検知ã™ã‚‹

インターフェイス

Cache

ServiceWorker ã®ãƒ©ã‚¤ãƒ•ライクルã®ä¸€éƒ¨ã¨ã—ã¦ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れるã€Request / Response オブジェクトã®ãƒšã‚¢ã®ãŸã‚ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã§ã™ã€‚

CacheStorage

Cache オブジェクトã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã§ã™ã€‚ã“れ㯠ServiceWorker ãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã™ã¹ã¦ã®åå‰ä»˜ãキャッシュã®ã¸ã®ç›®éŒ²ã‚’æä¾›ã—ã€æ–‡å­—列ã®åå‰ã‹ã‚‰å¯¾å¿œã™ã‚‹ Cache ã¸ã®ãƒžãƒƒãƒ—ã‚’ä¿æŒã—ã¾ã™ã€‚

Client

サービスワーカークライアントã®ã‚¹ã‚³ãƒ¼ãƒ—を表ã—ã¾ã™ã€‚サービスワーカークライアントã¯ã€é–²è¦§ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã®æ–‡æ›¸ã¾ãŸã¯ SharedWorker ã§ã‚りã€ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ワーカーã«ã‚ˆã£ã¦åˆ¶å¾¡ã•れã¦ã„ã¾ã™ã€‚

Clients

Client オブジェクトã®ãƒªã‚¹ãƒˆã®ãŸã‚ã®ã‚³ãƒ³ãƒ†ãƒŠãƒ¼ã§ã‚りã€ç¾åœ¨ã®ã‚ªãƒªã‚¸ãƒ³ã«ã‚る有効化ã•れãŸã‚µãƒ¼ãƒ“スワーカークライアントã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ä¸»ãªæ–¹æ³•ã§ã™ã€‚

ExtendableEvent

ServiceWorkerGlobalScope ã§é…ä¿¡ã•れる install イベントや activate イベントã®ãƒ©ã‚¤ãƒ•タイムを延ã°ã—ã¾ã™ã€‚ã“れã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚­ãƒ¼ãƒžã®æ›´æ–°ã‚„使ã‚れãªããªã£ãŸã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã®å‰Šé™¤ãªã©ãŒçµ‚ã‚ã‚‹ã¾ã§æ©Ÿèƒ½çš„イベント (Functional events) ㌠ServiceWorker ã«é…ä¿¡ã•れãªã„ã“ã¨ã‚’ä¿è¨¼ã—ã¾ã™ã€‚

ExtendableMessageEvent

サービスワーカーã§ç™ºç”Ÿã™ã‚‹ message イベントã®ã‚¤ãƒ™ãƒ³ãƒˆã‚ªãƒ–ジェクト(別ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‹ã‚‰ ServiceWorkerGlobalScope ã§ãƒãƒ£ãƒ³ãƒãƒ«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ä¿¡ã—ãŸæ™‚ï¼‰ã®æœ‰åŠ¹æœŸé™ã‚’å»¶é•·ã—ã¾ã™ã€‚

FetchEvent

ãƒãƒ³ãƒ‰ãƒ©ãƒ¼ onfetch ã«æ¸¡ã•れる引数〠FetchEvent 㯠ServiceWorkerGlobalScope ã§é…ä¿¡ã•れる読ã¿å–りアクションを表ç¾ã—ã¦ã„ã¾ã™ã€‚ã“れã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨çµæžœã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã«é–¢ã™ã‚‹æƒ…報をå«ã¿ã€FetchEvent.respondWith() メソッドをæä¾›ã—ã¦ã€åˆ¶å¾¡ã•れãŸãƒšãƒ¼ã‚¸ã«ä»»æ„ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’è¿”ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

InstallEvent

oninstall ãƒãƒ³ãƒ‰ãƒ©ãƒ¼ã«æ¸¡ã•れる引数ã§ã€ InstallEvent インターフェイス㯠ServiceWorker ã® ServiceWorkerGlobalScope ã«é…ä¿¡ã•れるインストールアクションを表ç¾ã—ã¾ã™ã€‚ ExtendableEvent ã®å­ã¨ã—ã¦ã€FetchEvent ã®ã‚ˆã†ãªæ©Ÿèƒ½ã‚¤ãƒ™ãƒ³ãƒˆãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ä¸­ã«é…ä¿¡ã•れãªã„ã“ã¨ã‚’ä¿è¨¼ã—ã¦ã„ã¾ã™ã€‚

サービスワーカーã«ã‚ˆã‚‹ãƒªã‚½ãƒ¼ã‚¹ã®å…ˆèª­ã¿ã‚’管ç†ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚

ServiceWorker

サービスワーカーを表ã—ã¾ã™ã€‚複数ã®é–²è¦§ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆï¼ˆä¾‹ï¼šãƒšãƒ¼ã‚¸ã€ãƒ¯ãƒ¼ã‚«ãƒ¼ãªã©ï¼‰ã‚’åŒã˜ ServiceWorker オブジェクトã«é–¢é€£ä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

ServiceWorkerContainer

サービスワーカーã®ç™»éŒ²ã€ç™»éŒ²è§£é™¤ã€æ›´æ–°ã€ã‚µãƒ¼ãƒ“スワーカーã¨ãã®ç™»éŒ²ã®çŠ¶æ…‹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãªã©ã®æ©Ÿèƒ½ã‚’å«ã‚€ã€ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ã‚³ã‚·ã‚¹ãƒ†ãƒ ã®å…¨ä½“ユニットã¨ã—ã¦ã®ã‚µãƒ¼ãƒ“スワーカーを表ã™ã‚ªãƒ–ジェクトをæä¾›ã—ã¾ã™ã€‚

ServiceWorkerGlobalScope

サービスワーカーã®ã‚°ãƒ­ãƒ¼ãƒãƒ«å®Ÿè¡Œã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’表ã—ã¾ã™ã€‚

ServiceWorkerRegistration

サービスワーカーã®ç™»éŒ²ã‚’表ã—ã¾ã™ã€‚

WindowClient

アクティブãªãƒ¯ãƒ¼ã‚«ãƒ¼ã«ã‚ˆã£ã¦åˆ¶å¾¡ã•ã‚Œã‚‹é–²è¦§ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã®æ–‡æ›¸ã§ã‚るサービスワーカークライアントã®ã‚¹ã‚³ãƒ¼ãƒ—を表ã—ã¾ã™ã€‚ã“れã¯ç‰¹åˆ¥ãªç¨®é¡žã® Client オブジェクトã§ã€ã„ãã¤ã‹ã®è¿½åŠ ãƒ¡ã‚½ãƒƒãƒ‰ã¨ãƒ—ロパティãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚

ä»–ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã¸ã®æ‹¡å¼µ

Window.caches and WorkerGlobalScope.caches

ç¾åœ¨ã®kンテキストã«é–¢é€£ä»˜ã‘られ㟠CacheStorage オブジェクトã§ã™ã€‚

ServiceWorkerContainer オブジェクトを返ã—ã¾ã™ã€‚ã“ã®ã‚ªãƒ–ジェクトã¯ã€é–¢é€£ä»˜ã‘ã‚‰ã‚ŒãŸæ–‡æ›¸ã® ServiceWorker オブジェクトã®ç™»éŒ²ã€å‰Šé™¤ã€ã‚¢ãƒƒãƒ—グレードã€é€šä¿¡ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’æä¾›ã—ã¾ã™ã€‚

仕様書

Specification
Service Workers Nightly

関連情報

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy