問題タブ [service-worker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
9727 参照

progressive-web-apps - ページ内から ServiceWorker のメソッドを呼び出すにはどうすればよいですか?

ページに ServiceWorker を登録していて、そこにデータを渡して、IndexedDB に保存し、後でネットワーク リクエストに使用できるようにしたいと考えています (これはアクセス トークンです)。

ネットワーク リクエストを使用し、フェッチを使用して SW 側でそれらをキャッチするのが正しいことですか、それとももっと賢い方法がありますか?

私と同様のことを疑問に思っている将来の読者への注意:

SW 登録オブジェクトのプロパティを設定します。たとえば、self.registration.foo を Service Worker 内の関数に設定し、ページで次の操作を行います。

結果はTypeError: reg.foo is not a function. これはServiceWorkerのライフサイクルと関係があると思います。つまり、それを変更することはできず、将来的にそれらの変更にアクセスできると予想されるため、SWとのインターフェースはすべてpostMessageスタイルでなければならない可能性が高いため、おそらくフェッチを使用するだけです一番いい方法は…?

0 投票する
1 に答える
1224 参照

javascript - 「Service Worker」はオフラインの HTML フォーム データをサポートしていますか?

Service Workerは基本的に、Web アプリケーション間に配置されるプロキシ サーバーとして機能します。

私の懸念: ServiceWorkerはオフライン フォームもサポートしていますか? - もしそうなら、私の他の懸念事項のリストは次のとおりです。

  1. クライアント側 (ストレージ、セッション、ローカル、データベース) で不完全な HTML フォーム データを保存した場所は?
  2. ユーザーが入力したデータをどの形式で保存するか (暗号化など)
  3. データのセキュリティ/プライバシーはどのように取り組まれましたか? 戻ってきたユーザーが同じユーザーであることを確認しますか? - 1 人のユーザーが公共の場所でフォームに記入し、インターネット接続が失われ、不完全なフォームを離れて移動した場合、次の直接のユーザーは、最後のユーザーがフォームを離れた場所の不完全なフォーム データを見ることができます。
0 投票する
2 に答える
3199 参照

service-worker - serviceWorker.getRegistration と serviceWorker.ready.then の違い

Service Workers を使用して最初のアプリを作成しており、pushManager と対話するために登録を取得しようとしています。

次のいずれかでこれを行うことができます。

また

どちらを使用する必要があり、違いは何ですか?

0 投票する
4 に答える
12199 参照

javascript - Service Worker と Shared Worker

Service Worker と Shared Worker の違いは何ですか?

Shared Worker の代わりに Service Worker を使用する必要がある場合と、その逆の場合はいつですか?

0 投票する
1 に答える
36316 参照

service-worker - ServiceWorker の登録に失敗しました: ServiceWorker を開始できません

Service Worker プロジェクトではすべて正常に動作していましたが、突然次のエラーが表示されます。

sw.js というファイルに SW を登録していますが、これは index.html:1 で報告されています。

Google で何も見つかりませんでした。このエラーが発生する原因についてのガイダンスはありますか?

0 投票する
3 に答える
13621 参照

html - ServiceWorker で indexedDB にアクセスします。レースコンディション

ServiceWorker で indexedDB を示す例はまだ多くありませんが、私が見たものはすべて次のように構成されていました。

これは ServiceWorker の起動時に失敗する可能性がありますか? もしそうなら、ServiceWorker で indexedDB にアクセスする堅牢な方法は何ですか?

0 投票する
3 に答える
761 参照

javascript - ServiceWorkerのSharedWorkerポートに相当しますか?

SharedWorkerはメッセージ ポートを使用して とメッセージを交換しますParentWorker

親労働者

SharedWorker (worker.js)

サービスワーカーはどうですか?SharedWorkerポートに似たものはありますか?

0 投票する
2 に答える
1010 参照

html - ServiceWorker: ブラウザーが新しいバージョンを検出しない

この記事に基づいて HTML5 ServiceWorker API を試しています。記事では、

ユーザーがサイトに移動すると、ブラウザーは Service Worker を定義したスクリプト ファイルをバックグラウンドで再ダウンロードしようとします。Service Worker ファイルが現在のものと比べて 1 バイトでも異なる場合、それは「新しい」と見なされます。

このことから、ワーカーのスクリプト ファイルに何か変更を加えると、古いバージョンのワーカーを参照しているすべてのページが終了したときに起動する新しいバージョンを定義するようブラウザに促すことになると結論付けました。


編集:どうやらブラウザはserviceworker.jsファイル自体をキャッシュしているようです。そのため、新しいバージョンが取得されません。ワーカーファイルのキャッシュを回避する方法を誰か教えてもらえますか? 利用可能なデモをオンラインで調べました ( MDNおよびW3C Webmob の GitHub のものを含む)

これは私のファイル構造です:

次の URL を含めるようにキャッシュを構成しました。

  • 「/style.css」
0 投票する
1 に答える
289 参照

javascript - ServiceWorker の oninstall と onactivate イベント

oninstallイベントとイベントはどう違いonactivateますか?彼らはいつ解雇されますか?IndexedDB や WebSocket などの一生に一度の操作を初期化するには、どのイベントを使用すればよいですか?