正如标题所示,我正在尝试从 Firefox 缓存中加载图像。我正在运行 Ubuntu,所以我的缓存位置是 /home/me/.mozilla/firefox/xxxxxx.default/Cache
然而,在缓存中(这也在 Mac 上)文件名只是字母和数字的荒谬组合。有没有办法查明某个文件?
正如标题所示,我正在尝试从 Firefox 缓存中加载图像。我正在运行 Ubuntu,所以我的缓存位置是 /home/me/.mozilla/firefox/xxxxxx.default/Cache
然而,在缓存中(这也在 Mac 上)文件名只是字母和数字的荒谬组合。有没有办法查明某个文件?
您应该查看CacheViewer Add-on的源代码。
下载文件而不是安装它(右键单击并另存为)然后解压缩它(它只是一个 Zip 文件,即使它具有 .xpi 扩展名),然后在生成的 chrome 文件夹中解压缩 cacheviewer.jar 文件。最后进入内容,然后进入缓存查看器以查找 javascript 和 XUL 文件。
根据我的简短调查,有用的例程在 cacheviewer.js 文件中,但如果您希望有一个简单的 javascript one liner 来访问缓存项目,您可能会感到失望。XUL 文件(只是 XML)有助于确定调用哪些 JS 函数来执行特定任务。我不太确定所有这些如何映射到 Greasemonkey,而不是扩展环境,但希望有足够的代码让你开始。
嗯,这确实是一个内部实现细节。但我建议看看 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 可能随时更改格式。
只需为您的img src=
属性提供完整的 URL。如果图像恰好是可缓存的(例如,服务器发送适当的Expires:
orCache-control:
标头)并且它已经在缓存中,Firefox 将不会访问网络。
HTTP 缓存应该是不可见的。当您生成内容时,您通常不应该担心它。
您可以将REDbot指向一个 URL,以查看有关其可缓存性的各种美味信息。