2

私のモバイル アプリケーションでは、pushState と AppCache を使用したいのですが、これは難しいようです。

pushState を機能させるために、私の Web サーバーはすべての URL (マニフェスト ファイル自体、画像、css ファイル、js ファイルなどのアセットを除く) を/index.html内部にリダイレクトします。

たとえば、 へのリクエストはそれぞれ/articles/123にリダイレクトされます(そのため、最初にリクエストされた URL は引き続きブラウザに表示されます)。//index.html

これにより、 へのリクエストがではなく のmanifest.appcacheように間違ったパスに送られ、ブラウザが (Google 検索などで) 直接アクセスした URL ごとに新しいキャッシュ グループを作成するという問題が発生します。/articles/123/manifest.appcache/manifest.appcache

にリダイレクト(.*)/manifest\\.appcacheする/manifest.appcacheと解釈されるので、期待どおりに動作するはずです。manifest.appcache主な問題は、ブラウザがドメイン レベルではなく URL レベルでファイルを処理することだと思います。

したがって、これは次の質問につながります。

  1. これは実用的なアプローチですか?

  2. はいの場合、ブラウザにドメイン レベルで AppCache を使用するように指示できますか?

  3. いいえの場合、私は何を考えていませんか?

4

1 に答える 1

2

manifest要素に属性を配置するときは<HTML>、ルートディレクトリを指すようにパスを適切に設定するだけです:

<html manifest="/appcache.manifest">
于 2013-07-08T16:42:28.423 に答える