問題タブ [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.
javascript - ServiceWorker スコープのページ URL
ServiceWorker スコープに ServiceWorker を登録するページの URL を取得するにはどうすればよいですか?
main.js
sw.js
google-chrome - Service Worker の登録が localhost で失敗しました
ノード Express V4 サーバー / Chrome 42 によって提供される基本的なアプリで Service Worker を登録しようとすると、次のエラーが発生します。
DOMException: ServiceWorker の登録に失敗しました: スクリプトの取得時に不正な HTTP 応答コード (404) を受け取りました。{メッセージ: "ServiceWorker の登録に失敗しました: スクリプトの取得時に不正な HTTP res...コード (404) を受け取りました。", 名前: "NetworkError", コード: 19, INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2...} コード: 19メッセージ: 「失敗しました
登録コードは次のとおりです。
javascript - Service Worker が自動的に停止しないようにする
Service Worker は、ある時点で自動的に停止するようです。この動作により、アクティブ化時に確立された WebSocket 接続が意図せず閉じられます。
いつ、なぜ停止するのですか?この予期しないアクションをプログラムで無効にして、Service Worker を実行し続けるにはどうすればよいですか?
javascript - REST リクエストを Service Worker に保存して同期する
Service Worker を使用してアプリケーションをオフラインにすることを考えています。リソースのキャッシュですでに満足のいく結果を達成していますが、インターネットに接続しているかどうかを onfetch で確認する必要があります。そうでない場合は、リクエストを保存し、onsync でプッシュします。
将来のオンシンクがそれを助けることは理解していますが、そのための解決策が必要です-一時的であっても.
リクエストをワーカー内の配列に保存しようとしましたが、永続的ではありません-コンピューターの再起動後は機能しません(SWが機能し、オフラインコンテンツを提供している間)。
良い方向は何ですか-どういうわけかファイルのようなキャッシュに保存しますか? または、IndexedDB / SimpleDB を使用していますか ( ServiceWorker で indexedDB にアクセスしています。競合状態)?
ios - Service worker と iOS / Safari
Service Worker に関する Chromium のページには、
サービス ワーカーは、iOS 上の Chrome ではサポートされていません。
いくつかの cordova プラグインを使用して iOS に配信できると想定しています。iOS デバイスで Service Worker を使用する他の方法はありますか?
iOS の新バージョンの出荷と cordova の新バージョンの出荷までの時間が心配です。
iOS 上の Chrome が将来 Service Worker をサポートするかどうか知っている人はいますか? :)
service-worker - Chrome >= 44 で Service Worker を登録解除するための API は何ですか?
既にインストールされている Service Worker の登録を解除しようとしています。登録の約束は登録を引数として成功関数に渡し、それをいくつかのスコープに保存できることを理解していますが、ページのリロード後には機能しません (インストールされているワーカーの登録を解除できるようにしたいです)前のセッションで)。後で取得できるように、登録で定義された ID を探してみましたが、存在しないようです。
このページでは navigator.serviceWorker.unregister (引数としてスコープを取る) について言及していますが、私の環境 (Chrome 44、Linux) では定義されていません。まだ実装されていないだけですか?当分の間使用できる回避策はありますか?