問題タブ [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.
push-notification - Service Worker を使用して全員にプッシュ通知を送信する
現在、上記のコマンドを使用してプッシュ通知を送信できます。ユーザーに通知を送信するには、ユーザーから登録 ID を取得する必要があります。全員 (その通知を購読しているユーザー) に通知をプッシュしたい場合はどうすればよいですか? また、登録 ID を取得するにはどうすればよいですか?
*注: 私が望むのは: Web サイト内の何かが更新されたときに、全員にプッシュ通知を送信することです。
私のプロジェクトへのリンク: Github
ここからプッシュ通知 + sw を学びました: Google Developer
node.js - ServiceWorker とプッシュ通知ペイロード
コミュニティ:
ServiceWorker はキャッシュ管理の点で優れた先進技術ですが、次のような他の操作に関連するいくつかの質問があります。
プッシュ通知:この記事に従って、GCM 統合 (Google Cloud Message) と NodeJS を作成しました。問題は、GCM がクライアント (Chorme) に情報を送信するときに、GCM によって生成されたメッセージのペイロードに通知でアクセスできないことです。 ServiceWorker Listener で、意思決定を行うのに最適です。通知のデータ ペイロードがいつ有効になるか考えていますか?
登録: ES6 は非常に成熟しているため、別の方法で ServiceWorker を登録することをお勧めします。たとえば、次のようになります。
これは可能ですか、それとも理にかなっていますか?
ありがとう!!!!
iframe - Web の Chrome GCM 通知の iframe からのサービス ワーカー
iframe を介してウェブ上で Chrome GCM 通知を取得するために、Service Worker をサブスクライブ/サブスクライブ解除したいと考えています。
私は、ブラウザで直接開いているときや、window.open javascriptポップアップから正常に動作するプロトタイプを持っています。
ただし、iframe からの読み込み中に許可拒否エラーが発生します。
ここで何が間違っている可能性がありますか。はい、私のオリジンは http であり、iframe URL は https です。iframe が通知をサブスクライブできないのはなぜですか。
polymer - 1 つの URL パスをキャッシュしないように Polymer の Platinum-sw-* を設定するにはどうすればよいですか?
Hoodie の API の URL である /_api を除くすべての URL パスをキャッシュするように、Polymer のプラチナ-sw-キャッシュまたはプラチナ-sw-fetch を構成するにはどうすればよいですか? 次のように、/_api パスを処理するようにplatinum-sw-fetch要素を構成し、残りのパスを処理するためにplatinum-sw-cache要素を構成しました。
custom-fetch-handler.js には以下が含まれます。その意図は、Service Worker がリクエストを処理していない場合と同じように、ブラウザがリクエストの結果を返すことだけです。
正しく機能していないように見えるのは、ユーザー 1 がサインインしてからサインアウトした後、ユーザー 2 がサインインした後、Chrome 開発ツールの [ネットワーク] タブで、Hoodie が両方のユーザーに定期的にリクエストを出し続けていることです。次のような API エンドポイント:
代わりに、これらの API エンドポイントの 1 つだけにリクエストを送信する必要があります。[ネットワーク] タブでは、これらの URL がそれぞれ 2 回続けて表示されます。[サイズ] 列には、最初の要求には「(ServiceWorker から)」と表示され、2 番目の要求には、関連する場合に備えて応答サイズがバイト単位で表示されます。
関連すると思われるもう 1 つの問題は、ユーザー 2 としてサインインしてフォームを送信すると、アプリがサーバー側のユーザー 1 のデータベースに書き込むことです。これは、アプリが /_api ルートのキャッシュをバイパスできないことが原因であると思われます。
ドキュメントには互いの代替であると記載されているため、1つのplatinum-sw-register要素内でplatinum-sw-cacheとplatinum-sw-fetchの両方を使用すべきではありませんでしたか?
updates - update() が利用できない場合、プログラムで Service Worker を更新する
ServiceWorkerRegistration.update()
Chrome にはまだ実装されていないため、サービス ワーカーをプログラムで更新するにはどうすればよいですか? 代替手段はありますか?
service-worker - Service Worker でフェッチを処理しますが、クライアントがリダイレクトを確認できるようにします
/users/sign_out
ユーザーをログアウトしてルート URL にリダイレクトすることになっている URL があります/
。ユーザーをルートに戻す前に、キャッシュからいくつかのアイテムを削除したいので、サービス ワーカーを介してこのフェッチを処理したいと考えています。ただし、クライアントは Service Worker からのフェッチで発生するリダイレクトを認識しないため、ユーザーは私のスプラッシュ スクリーンに行き着きますが、リダイレクト前のアドレスが表示されます/users/sign_out
。
現在、フェッチを処理し、クライアントが正しい最終 URL を表示できるようにする方法はありますか?
最終的にはResponse.redirect()
、最終的な URL で応答を更新できるようにするメソッドが存在するようです。finalURL
このケースにも対応する何らかのオプションが存在する可能性が高いようです。でも、今使えるものはありますか?Twitter で、Jake Archibald (@jaffathecake) は、新しい Response を自分で作成できると言いました - できますが、仕様と MDN ドキュメントを少し調べた後でも、正しい URL を指定する方法がわかりません。それ。
私が必要とすることを行う Response オブジェクトを構築する方法が実際にある場合、誰かがそれがどのように機能するかを教えてもらえますか?
javascript - 単一の Javascript タグを使用して Service Worker とマニフェストの両方をインストールするにはどうすればよいですか?
プッシュ通知をサイトに簡単に統合するための Web サイト用のサービスを構築しましたが、現在の Chrome の実装では、マニフェストと Service Worker もセットアップする必要があります。
Javascript の 1 行だけで Service Worker とマニフェストを設定する方法はありますか?