1

必要に応じて完全にオフラインで実行できるようにする必要がある単純な Web サイトを構築しています。50 ページ以上の検索可能なリファレンス マニュアルを目指しています。

1 つのページを開いたときにサイト全体をキャッシュする必要があります。私はこれをappcacheマニフェストで行っており、サイトをキャッシュしてオフラインのモバイルで表示することはうまくいくようです。

このサイトには基本的な JavaScript 検索機能 (フリーウェアのダウンロード) があり、オンラインではこの検索は完全に機能します。インターネット接続が停止し、キャッシュされたバージョンが使用されるとすぐに、検索が機能しなくなり、2 つの症状のいずれかが表示されます。

4

1 に答える 1

2

https://developer.mozilla.org/en-US/docs/HTML/Using_the_application_cache#Gotchasからの引用

従来の GET パラメーター (other-cached-page.html?parameterName=value など) を使用して、キャッシュされたファイルにアクセスしないでください。これにより、ブラウザはキャッシュをバイパスし、ネットワークから取得しようとします。JavaScript で解析されたパラメーターを持つキャッシュされたリソースにリンクするには、リンクのハッシュ部分でパラメーターを使用します (other-cached-page.html#whatever?parameterName=value など)。

しかし、それはまさにあなたの js-search が行うことです。XHR を使用して、「http://www.filemanage.co.uk/offline/index.html?1350563635665」のようなサブページを読み込もうとします。

修正としてこれを試してください

// change in function sendRequest line 228 from 
this.httpRequest.open("GET", uri+"?"+q, true);
// to
this.httpRequest.open("GET", uri, true);
于 2012-10-18T12:42:31.037 に答える