1

正如标题所示,我正在尝试从 Firefox 缓存中加载图像。我正在运行 Ubuntu,所以我的缓存位置是 /home/me/.mozilla/firefox/xxxxxx.default/Cache

然而,在缓存中(这也在 Mac 上)文件名只是字母和数字的荒谬组合。有没有办法查明某个文件?

4

3 回答 3

2

您应该查看CacheViewer Add-on的源代码。
下载文件而不是安装它(右键单击并另存为)然后解压缩它(它只是一个 Zip 文件,即使它具有 .xpi 扩展名),然后在生成的 chrome 文件夹中解压缩 cacheviewer.jar 文件。最后进入内容,然后进入缓存查看器以查找 javascript 和 XUL 文件。

根据我的简短调查,有用的例程在 cacheviewer.js 文件中,但如果您希望有一个简单的 javascript one liner 来访问缓存项目,您可能会感到失望。XUL 文件(只是 XML)有助于确定调用哪些 JS 函数来执行特定任务。我不太确定所有这些如何映射到 Greasemonkey,而不是扩展环境,但希望有足够的代码让你开始。

于 2008-12-21T20:06:22.007 回答
1

嗯,这确实是一个内部实现细节。但我建议看看 about:cache?device=disk 和 about:cache-entry?client=HTTP&sb=1&key= https://stackoverflow.com/Content/img/wmd/blockquote.png是如何实现的。

此外,http://www.securityfocus.com/infocus/1832也提供了详细信息。请注意,Firefox 不会为所有内容使用单独的文件...

当然,Firefox 可能随时更改格式。

于 2008-12-21T18:41:26.610 回答
1

只需为您的img src=属性提供完整的 URL。如果图像恰好是可缓存的(例如,服务器发送适当的Expires:orCache-control:标头)并且它已经在缓存中,Firefox 将不会访问网络。

HTTP 缓存应该是不可见的。当您生成内容时,您通常不应该担心它。

您可以将REDbot指向一个 URL,以查看有关其可缓存性的各种美味信息。

于 2009-12-10T18:16:40.870 回答