web-dev-qa-db-ja.com

WebApp:失敗:Service Workerはマニフェストのstart_urlを正常に提供しません

LighthouseでWebアプリをテストした後、次のようなエラーが発生します。

ユーザーは、Webアプリをインストールするように求められません。ブラウザーは、アプリをホーム画面に追加するようユーザーに積極的に促すことができ、エンゲージメントを高めることができます。もっと詳しく知る。

失敗:Service Workerはマニフェストのstart_urlを正常に提供しません。

説明されているすべての基準 here が満たされています。

  1. サイトはHTTPS経由で提供されます。
  2. サービスワーカーが登録されます。
  3. Service Workerのスコープには、監査したページと、Webアプリマニフェストのstart_urlプロパティで指定されたページが含まれます。
  4. Webアプリマニフェストが存在し、次の基準を満たしている:有効な名前プロパティがあります。有効なshort_nameプロパティがあります。有効なstart_urlプロパティがあります。有効な表示プロパティがあり、値はスタンドアロン、フルスクリーン、またはminimal-uiです。少なくとも192x192ピクセルのアイコンを指定します。

マニフェストファイルは、スクリプトを介してレンダリングされます。重要な変数は

scope_url = 'https://website.com/app/'
start_url = 'https://website.com/app/about/'

ServiceWoker.jsは非常に簡単です。

self.addEventListener('Push', function(e) {

  ...
});

self.addEventListener('notificationclick', function (e) {
    ...
);

Webアプリとsw.jsは、start_urlから提供されます。

他に何を確認できますか?

編集1。Chromeコンソールから「ホーム画面に追加」しようとすると、次のメッセージが表示されます。

Site cannot be installed: the page does not work offlineこれに近いもの コメント

11

Start_urlを ' https://website.com/app/ 'に変更し、追加した後:

self.addEventListener('fetch', function(e){

});

serviceWorker.jsでこの問題は解決されました。

4

Chrome-devtools-lighthouseの最近のバージョンでは、デバイスがオフラインであっても、start_urlが正常に配信される(一部のコンテンツと応答コード200が返される)ことを確認しているようです。

0
asiop