如何从Firefox的缓存中清除单个站点?


268

在Firefox中,我有时需要清除缓存以修复网站。但是清除整个缓存似乎是过分的杀伤力。有什么方法可以从缓存中清除一个站点吗?


1
当我需要经常清理Cookie来调试网站时,经常使用private browsing mode。它将自动清除所有内容。希望这可以适合您的情况。
smwikipedia

Answers:


243
  1. 选择Firefox 菜单按钮。
  2. (在Firefox 57或更高版本中,选择“ 库”
  3. 选择历史记录图标。
  4. 滚动到底部,然后选择显示所有历史记录
  5. 使用右上角的“ 搜索历史记录”字段搜索站点。
  6. 在结果中,右键点击相应的页面,然后选择忘记该网站

注意:这也将清除该站点的已保存密码。


5
你还在这里!三年半后。:)回答您:是的,“昨天”。感谢您的荣誉。
zylstra 2014年

4
当您要删除将您重定向到另一个网站的网站的缓存时,这是CTRL + F5的绝佳选择(在这种情况下,CTRL + F5仅强制刷新重定向的网站)。
Sicco 2014年

14
一个很好的答案,但是人们需要知道这个问题!因此:警告:这将清除有关该网站的所有信息,包括cookie和密码。
WeGoToMars

3
另外,如果该站点是localhost,它将丢失您正在开发的所有localhost站点的数据,无论如何,对我来说,这要比我要清除的要多得多。
约书亚·弗兰克

6
问题是从浏览器缓存中删除站点,而不是从历史记录中删除站点。这个答案不好。
peterh

37

如果要执行强制刷新(这是我认为要执行的操作),请按CTRL + F5。当然,在Mac上是Cmd + F5。在Chrome上也可以使用。


3
在osx 10.6.7中加载画外音
Doug Molineux

6
CMD+ SHIFT+ R...功能键默认情况下由OSX使用。
curl_brackets 2011年

4
不一定是真的。每次尝试开发时都会缓存html模板之类的资源。
詹姆斯·南

4
任何想法如何对正在使用301重定向到另一个域但不再存在的页面执行此操作?我无法足够快地按下ctrl-F5,并且重定向一直在发生
matt wilkie 2012年

19
不明白为什么这个答案如此之大,因为它既是错误的,又没有回答问题。Ajax调用,css文件,重定向一直被缓存(或重定向)。唯一确定的方法是从某个域中删除历史记录的选项,例如删除Cookie。另一种方法是使用其他(清除的)配置文件启动Firefox。
HMR 2013年

6

此插件将允许您查看和删除内存和磁盘中的特定缓存条目-https: //addons.mozilla.org/zh-CN/firefox/addon/2489/


4
可悲的是,该插件目前不再可用。
equaeghe


此加载项不是稳定版本。
Nicolas Barbulesco 2014年

显然,该附件不能被热安装。太可惜了 我需要使某些特定的站点在Firefox中重新工作,而无需重新启动Firefox。
Nicolas Barbulesco 2014年

@iceteea —此加载项CacheViewer2不是稳定版本。而且,显然,该附件不能被热安装。太可惜了 我需要使某些特定的站点在Firefox中重新工作,而无需重新启动Firefox。
Nicolas Barbulesco 2014年

3

请注意,如果不使用插件,当前无法清除缓存的HTTP重定向(至少301类型)。

Ctrl+ F5/ Cmd+ F5 无法正常工作,因为您将立即重定向到目标URL,因此无法刷新原始URL。

因此,我使用了前面提到的CacheViewer插件来处理此问题。

有关此问题的详细信息和可能的进展,另请参见Firefox中的此错误


您可以尝试在重定向之前,在Prefs→Advanced→General→Accessibility中打开警告。但是,此首选项并非在所有情况下都有效。
Nicolas Barbulesco 2014年

1
我想知道Firefox的错误是否不仅与301 Moved Permanently重定向有关,而且还设计为永久重定向。如果Firefox确实缓存302 Found,那么那确实是一个错误。
Arjan 2015年

您通常对301 @Arjan是正确的,但是我要说的是,缓存导致4xx / 5xx响应的重定向至少是一个有问题的行为。而且也没有能够清除这些重定向缓存,而不第三方工具似乎更像是一个比一个缺乏特点的错误..
格雷格Dubicki

2

没有内置的方法可以清除Firefox中特定页面/站点的缓存。您可以“忘记此站点”从历史记录中清除域,可以“删除此页面”从历史记录中清除特定页面,但是您不能清除属于该页面的单个缓存项(除了转到您的站点个人资料文件夹并删除它们)。

可能有插件可以执行此操作,但是在浏览它们时我什么也没找到。缓存删除的内置功能似乎具有“全有或全无”的策略。


2
您在“忘记此站点”和“删除此页面”中提到的选项在哪里?
mouseas 2012年

@mouseas,至少是历史记录侧栏(Ctrl-H)。
马修·弗拉申

@mouseas这两个命令位于“历史记录”窗口或侧栏中的历史记录中任何单个页面的右键单击菜单的底部。
罗里·奥肯

2

有一天没有打开其他任何东西,请转到“ 工具”⇨“清除最近的历史记录”,然后选择仅清除缓存,然后仅清除今天或Xtime。因为您刚刚访问过网站,所以它应该已将其缓存中的时间戳记移到列表的顶部,因此您只需要清除当天Firefox中的所有缓存,从而清除特定网站的缓存即可。


如此琐碎的目的要去很多麻烦。
艾萨克·拉比诺维奇

2

在似乎是刚刚发布的Firefox扩展程序中,原来的问题现在有一个答案,可以直接解决所提出的问题(而不是如何也可以通过使用“忘记此站点”),并将处理利用页面重定向而不是不希望的页面内容更改的网站。很棒的设计。快速高效。

https://addons.mozilla.org/zh-CN/firefox/addon/clear-site-cache/


1
与Firefox Quantum不兼容
rluks

1

我在这里参加聚会有点晚,但是我想把这个答案留给像我一样通过谷歌搜索找到了这个话题的人。通过使用新的配置文件访问Firefox的配置文件选择器(Windows->运行->“ Firefox.exe -p”),并从那里访问网站,为我解决了该问题。然后,当我回到常规配置文件时,该网站又重新开始正常工作!在其他配置文件上打开它必须已使用文件的未损坏版本刷新了我的常规配置文件的缓存。


1

还有一个类似的问题,很快的答案是:

  • 您可以按2个配置文件使用Firefox。
  • 有一个名为CookieMonster的扩展名可能适合您。
  • 每个Web开发人员都需要FF的两个附加组件,它们是Web Developer Toolbar和Firebug,Firebug扩展YSlow也非常方便。
    Web Developer Toolbar具有出色的缓存和对单个cookie的cookie控制。
  • Ctrl-F5通常就足够了。

6
这些主要用于cookie。我只是关心从缓存中删除域。
瑞安·汤普森

1
谢谢你的总结。但是Cookie Monster不是cookie。Cookie Monster是Firefox的扩展。
Nicolas Barbulesco 2014年

@NicolasBarbulesco对,我更改了文本。
Amir Latifi14年

0

看起来他们可能会改变一些事情。我发现以下内容:

  1. 菜单->选项
  2. 隐私权和安全性->网站数据->设置
  3. 突出显示选定的站点,然后选择删除选定的站点
  4. 选择保存更改
  5. 最后点击删除

设置对话框 删除所选对话框 确认对话框


我可能是错的,但看来此选项仅选择已存储临时数据的站点。对于那些网站,是的,它将清除cookie和其他所有内容。对于尚未存储临时数据的网站,它不会出现在列表中,因此您不能仅清除cookie。然而!如果清除所有数据,它将以某种方式获取所有站点。gh-就像我在输入此文本时所做的一样。我认为此特定功能需要更多测试。
TonyG '18



0

如果您知道需要从缓存中清除的URL的确切列表(例如,有问题的站点中损坏的CSS条目),则可以使用此脚本清除它们(改编自DoomEntry.js;需要在其中运行在浏览器控制台Ctrl+ Shift+ J),Web控制台Ctrl+ Shift+ K):

// load the disk cache
var cacheservice = Components.classes["@mozilla.org/netwerk/cache-storage-service;1"]
    .getService(Components.interfaces.nsICacheStorageService);
var {LoadContextInfo} = Components.utils.import("resource://gre/modules/LoadContextInfo.jsm",{})
var hdcache = cacheservice.diskCacheStorage(LoadContextInfo.default, true);

// compose the URL and submit it for dooming
var uri = Components.classes["@mozilla.org/network/io-service;1"]
    .getService(Components.interfaces.nsIIOService).newURI(prompt("Enter the URL to kick out:"), null, null);
hdcache.asyncDoomURI(uri, null, null);

只需使用您需要清除的每个URL运行脚本(或组成一个循环……您知道该钻取)。

从理论上讲,这应该清除缓存的AJAX响应,其他异步加载的资源以及301重定向条目(只要输入原始(301之前的)URL)。


编辑:由于FF 60,第2-3行应替换为var hdcache = cacheservice.diskCacheStorage(Services.loadContextInfo.default, true);; 感谢bugzilla.mozilla.org/show_bug.cgi?id=1417937。(由于某种原因,我不允许编辑我的原始答案。)
Janaka Bandara '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.