ローカルのノードJSテストサーバーでWebアプリケーションマニフェストのスコープに問題があります。私は正しいスコープを得ることができません。なぜなら、IPアドレスのポート番号が途切れるからです。私は私のマニフェストを見てクロームのdevのツールを使用する場合は[アプリケーション]タブの下で、それがマニフェストファイルのURLがあることを示し、ポート番号を使用してローカルIPアドレスからプログレッシブWebアプリケーションを提供するときに、自分のmanifest.jsonファイルのスコープ属性をどのように設定する必要がありますか?
https://192.168.0.101:2468/
:私は、次のアドレスで私のサーバーにアクセスしていますが:2468/manifest.json
しかし:2468
ではありません私のルートフォルダのディレクトリ。
、私は私が持っている私のマニフェストファイルでmy-app.html
_ website-directory
|_ server.js
|_ manifest.json
|_ my-app.html
と呼ばれる、すべての私のserver.js
を含むルートディレクトリ内のファイル、manifest.json
、そしてインデックスを保つ:
{
"scope": "./",
"start_url": "my-app.html"
}
すべての作品を私のGithub Pagesサイトにコードをアップロードすると完全になります:working example.私の問題は私のIPアドレスの背後にある:2468
から来ていると思います。 Github Pagesを持っているように、私は完全修飾ドメイン名でこの問題を抱えていません。
私はそうのようなマニフェストのスコープにポート番号を入れしようとした場合:
"scope": "./:2468/",
"start_url": "my-app.html"
それは私のマニフェストの範囲を破壊し、私はこの警告を得る:Manifest: property 'scope' ignored. Start url should be within scope of scope URL.
:2468
はフォルダではありませんので、完璧な理にかなっています私のディレクトリに。 ChromeがマニフェストファイルのURLに添付することを決めたことです。
マニフェストファイルのスコープを解決して、ポート番号を無視するにはどうすればよいですか? Chromeデベロッパーツールで、マニフェストが存在しない:2468
ディレクトリにあることが示されるのはなぜですか?
これは問題です。これは、私のWebアプリケーションがフルスクリーンウィンドウとスプラッシュスクリーンを備えたアプリモードで開かないためです。それは、ブラウザのURLバーでのみ開き、アプリケーションマニフェストをまったく使用していないようです。
UPDATE:11/05/17
URL https://192.168.0.101:2468/my-app.html
を使用することにより、私は私のマニフェストURLで:2468/
を示すのdevのツールなしで私のWebアプリケーションにアクセスすることができます。私のアプリはホーム画面とアプリの引き出しの両方にインストールされますが、スプラッシュ画面を持つフルスクリーンアプリではなく、ブラウザでのみ開きます。マニフェストの範囲についての警告は表示されません。私のサービスワーカーは完全に登録して動作します。私は、進歩的なWebアプリケーションをIPアドレスからインストールすることはできませんが、完全修飾ドメイン名だけをインストールできると考え始めています。これが問題だろうか?
自分のIPアドレスから生成されるAndroidインテントフィルタが有効でない可能性がありますか?このフィルタは、AndroidにWebページを開く方法をアプリモードまたはブラウザで指示します。私が知る限り、私はこのインテントフィルタに含まれるものを制御する権限がなく、ChromeはページURLと私のアプリケーションマニフェストに基づいてそれを生成します。 – Frank
ウェブアプリケーションマニフェストに 'display'プロパティを指定しましたか?'display:standalone'に設定したいように思えます。 –
スタンドアローンとフルスクリーンに設定しようとしました。私のGithubサイトからホーム画面に追加するとすべて正常に動作するため、ローカルIPアドレスからホーム画面に追加すると機能しません。 – Frank