0

Firefoxの拡張機能を構築して、Webサーバーからページを取得し、それをブラウザーのキャッシュに配置しようとしています。これにより、ユーザーがそのリンクを要求すると、要求するのではなく、キャッシュから直接取得されます。元のWebサーバー。

しかし、「Cache-control:must-revalidate」、「Cache-control:no-store」、「Cache-control:no-cache」、「Pragma」など、キャッシュ可能性を回避するためにヘッダーを配置する一部のページで問題が発生しています。 :キャッシュなし」。

ページが到着したときに、これらのヘッダーをnsIHttpChannelのsetResponseHeaderで上書きしようとしています。ただし、対応するキャッシュエントリのヘッダーは変更されません。次に、nsICacheEntryDescriptorのsetMetaDataElementを試して、メタデータキー「response-head」を変更します。データは変更されますが、ページは元のWebサーバーから取得されたままです。

この問題を克服し、Firefoxのキャッシュからページをロードする方法を知っている人はいますか?これは可能ですか?

前もって感謝します。

4

1 に答える 1

1

XMLHttpRequestを使用してページを取得していましたが、問題は、作成した「onreadystatechange」関数の応答ヘッダーを変更したことでした。

または、「http-on-examine-response」にオブザーバーを使用し、「observe」メソッドの応答ヘッダーを変更しました。現在、変更はキャッシュによって保持されています。

BetterCache Firefox拡張機能のコードを見ると、洞察が得られます。

于 2010-09-22T15:14:48.297 に答える