ホームページ >ウェブフロントエンド >jsチュートリアル >Web ワーカーとサービス ワーカー
これらの用語について初めて聞いたとき、なるほど、別のスレッドで同じことをやっているのかと思いました。では、なぜこれら 2 つの用語が必要なのでしょうか?
しかし、実を言うと、これら 2 つの用語とその動作には 大きな違いがあります。
詳しく説明していきます。
これら 2 つの共通点は
ですウェブワーカー
サービスワーカー
Service Worker のライフサイクル
1.登録
if ('serviceWorker' in navigator) { // wrap it in try/catch / promisses await navigator.serviceWorker.register('/service-worker.js') }
2.インストール
以下のコードは、service-worker.js
に記述する必要があります。
self.addEventListener('install', (event) => { // do your operations })
3.アクティベーション
self.addEventListener('activate', (event) => { // Do your Operation })
4.アイドル
5.フェッチ/メッセージ
self.addEventListener('fetch', (event) => { // Do your Opeation })
6.終了
これにより、サービス ワーカーは非常に長期間雇用され続けることになります。
例:-
Chrome でこのリンクを開くと、たくさんの Service Worker がハングしているのが表示され、検査/開始、メッセージの送信など、さまざまな操作を行うことができます。
chrome://serviceworker-internals/
ブラウザが閉じている場合でもサービス ワーカーを起動する方法。
注:-
この特定の場合、プッシュを使用してウェイクアップできますが、そのためにはブラウザに通知権限を与える必要があり、そうでない場合は方法がありません。
ブラウザがまだ開いている場合は、他の方法が関係します
1.イベントを取得
self.addEventListener('fetch', event => { // Handle fetch event });
2.メッセージ
self.addEventListener('message', (event) => { // Handle message Event })
3.
を押してくださいself.addEventListener('push', (event) => { // Handle Push Event })
4.同期イベント
self.addEventListener('sync', (event) => { // handle background Sync Event })
参考
以上がWeb ワーカーとサービス ワーカーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。