0

我正在尝试构建 Firefox 的扩展以从 Web 服务器获取页面并将其放入浏览器的缓存中,这样当用户请求该链接时,它将直接从缓存中检索,而不是要求原始网络服务器。

但是我遇到了一些放置标题以避免可缓存性的页面,例如“Cache-control:must-revalidate”,“Cache-control:no-store”,“Cache-control:no-cache”和“Pragma” :无缓存”。

当页面到达时,我试图用 nsIHttpChannel 的 setResponseHeader 覆盖这些标题。但是相应的缓存条目中的标头不会更改。然后我尝试使用 nsICacheEntryDescriptor 的 setMetaDataElement 来更改元数据键“响应头”。尽管数据已更改,但仍从原始 Web 服务器检索页面。

有谁知道如何克服这个问题并使页面从 Firefox 的缓存中加载?这可能吗?

提前致谢。

4

1 回答 1

1

我正在使用 XMLHttpRequest 来检索页面,问题是我更改了我所做的“onreadystatechange”函数中的响应标头。

或者,我将观察者用于“http-on-examine-response”,并在“观察”方法中更改了响应标头。更改现在由缓存保存。

通过查看BetterCache Firefox 扩展程序的代码,我获得了洞察力。

于 2010-09-22T15:14:48.297 回答