問題タブ [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 - curl を使用した Service Worker データ
Chrome プッシュ通知 API で、カスタマイズ可能な通知を設定したいと考えています。
私はサービスワーカーについて話している。
Service Worker の例のコードを次に示します。
次のような方法でcurlメッセージからデータを取得するにはどうすればよいですか:
私は例を読みましたが、CURL と Service Worker の組み合わせについて話している人は見当たりません。それは可能ですか?
javascript - リクエストに対するレスポンスが Service Worker からのものかどうかを確認するにはどうすればよいですか
Google Chrome コンソールでは、HTTP のステータス コードの横にRequest
info があり(from ServiceWorker)
ます。がServiceWorker から来たことを何とか認識
できますか? 多分から比較?Request
Response
date
Response Headers
progressive-web-apps - Chrome ServiceWorker の投稿メッセージ
postMessage
Web アプリケーションと対応する Service Worker の間で試行します。Service Worker は正常に登録され、これまでのところ機能しています。残念ながら、私はいくつかの奇妙な動作に気付きました:
- は
navigator.serviceWorker.controller
常にnull
です。 - サービスワーカー側では
postMessage
、次のように実装しました。
evt.origin=''
残念ながら、オリジンにポストバックする重要なフィールドにevt.source=null
は、目的の値が含まれていません。それにもかかわらず、私は常に送信されevt.data
た.
ポストバックって知ってる?
どうもありがとうございました!
そして私
angularjs - angular.js アプリケーションに Service Worker を登録する
ionic と angular.js を使用してアプリを作成していますが、新しいアプリ インストール バナー機能を追加するために使用する Service Worker を登録するのに苦労しています。指示に従って app.js ファイルに以下のコードを追加していますが、登録のシグナルやエラーが発生していないことに注意してください。
これは、app.js に追加するコードです。
google-chrome - client.openWindow() "ウィンドウを開くことは許可されていません。" serviceWorker Google Chrome で
Chrome バージョン 42.0.2311.152m でテストしており、次の例のように通知クリックでウィンドウを開くように実装したいと考えています: (ソース: https://developer.mozilla.org/en-US/docs/Web/API /ウィンドウクライアント )
私のファイル構造は次のようなものです:
https://myurl.no-ip.org/app/index.html
https://myurl.no-ip.org/app/manifest.json
https://myurl.no-ip.org /app/service-worker.js
私はいつも得るという問題があります
無効なアクセス エラー
client.openWindow('/') または client.openWindow(' https://myurl.no-ip.org/app/index.html ') を service-worker.js で呼び出すと、次のエラーが表示されます。
client.url が単なる「/」ではないため、「return client.focus()」行に到達することはありません。見つめている
現在の WindowClient が表示されます。
プロパティ「focused」と「visibilityState」は正しく、正しく変更されます。
マニュアルフォーカスコールを行うことで
次のエラーが表示されます。
問題は、URL が「/」だけではないことだと思います。そのためのアイデアはありますか?
どうもありがとうございました!
よろしく
アンディ
html - Service Worker が HTTPS 経由でしか動作しないのはなぜですか?
元の提案によると、「強力な新機能には安全なオリジンを優先する」に関して
「特に強力」とは、次のようなものを意味します: 個人を特定できる情報を処理する機能、資格情報や支払い手段などの価値の高い情報を処理する機能、オリジンに UA の信頼できる/ネイティブ UI を制御する機能を提供する機能、ユーザーのデバイス、または一般に、ユーザーが設定可能な許可または特権を提供する機能。議論してください!
「特に強力」とは、新しいレンダリング機能とレイアウト機能、CSS セレクター、無害な JavaScript API (showModalDialog など) などを意味するものではありません。HTML5 の新しい作業の大部分は、このカテゴリに当てはまると思います。議論してください!
しかし、何らかの理由で、サービス ワーカーは最初のカテゴリに分類されています。これが起こった理由の標準的な理由はありますか?
service-worker - プッシュ通知をクリックした後、サイトのオリジンのルートにリダイレクトされないようにする
Chrome でプッシュ通知に Service Worker を使用すると、ユーザーにプッシュ通知が表示されます。通常、通知をクリックすると、ブラウザーが開き、サイトのオリジンのルートが表示されます。
次のイベントのコールバック内:
self.addEventListener('notificationclick', function(event) {})
ウィンドウの場所の URL を「/」から「/redirectpage」に変更してみました:
したがって、期待される結果は、たとえば localhost でhttp://localhost:8080/redirectpageになるはずです。ただし、通知をクリックすると、サイトのオリジンのルートであるhttp://localhost:8080にリダイレクトされます。
これが間違った方法であると仮定すると、プッシュ通知のクリック時にブラウザーがこのターゲット URL を開くように、ターゲット URL をどこで指定する必要がありますか?