如何在 Firefox 上关闭缓存?

在开发过程中,为了让 Firefox 使用最新版本的 JavaScript 文件,我必须一直在 Firefox 中“清除缓存”。

是否有某种设置(about: config)来完全关闭 JavaScript 文件的缓存?或者,如果没有,所有的文件?

126231 次浏览

您是否尝试使用 CTRL-F5来更新页面?

在 Firefox 地址栏中输入“ about: config”并设置:

browser.cache.disk.enable = false
browser.cache.memory.enable = false

如果在本地开发,或者使用 HTML5的新清单属性,您可能还必须在 about: config-中设置以下内容

browser.cache.offline.enable = false

可以使用 CTRL-F5绕过缓存重新加载。

您可以在 firefox 中设置不使用缓存的首选项

network.http.use-cache = false

您可以设置 Web 服务器为 js 文件发送无缓存/过期/缓存控制头。

这是 Apache HTTP Server 的 例子

最好的策略是设计你的站点,为你的 JS 文件建立一个唯一的 URL,每次有变化的时候它就会被重置。这样,它在没有更改时缓存,但在发生任何更改时立即重新加载。

您需要针对特定的环境工具进行调整,但是如果您正在使用 PHP/Apache,这里有一个适合您和最终用户的很好的解决方案。

Http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/

如果您使用的是服务器端代码,那么您可以按照以下方式生成一个随机数并将其附加到 src 的末尾... ..。

Src = “ yourJavascriptFile.js? Random Number = 434534”

随机数每次都是随机产生的。

Web 开发工具栏有一个禁用缓存的选项,这使得它非常容易打开和关闭时,你需要它。

我使用 CTRL-SHIFT-DELETE激活隐私功能,允许您清除您的缓存,重置 Cookie 等,所有在一次。您甚至可以对其进行配置,以便它只执行此操作,而不是弹出一个对话框要求您确认。

我知道我在重提一个古老的问题,但我今天试图解决这个问题,并找到一个替代的解决方案。当我想测试的时候切换缓存对我来说是不可接受的,正如其他人提到的,硬刷新(ctrl + shift + r)并不总是有效。

相反,我选择将以下内容放在我的 vhost.conf 文件中(也可以在。在我的开发环境中:

<FilesMatch "\.(js|css)$">
FileETag None
<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>
</FilesMatch>

在我的开发环境中,这可以确保总是检索 js 和 css。此外,它不会影响我其余的浏览器,它也适用于所有的浏览器,所以在 chrome/ie 等测试也很容易。

在这里找到了代码片段,还有一些其他方便的 Apache 技巧: http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess

为了确保我的客户总是在生产环境中看到最新的版本,我们在每次更新时增加 js include 上的查询字符串,即

jquery.somefile.js?v=0.5

这会迫使客户机的浏览器在看到新的查询字符串时更新本地缓存,然后缓存新的副本,直到文件再次更新

经过2个小时的浏览各种选择,这是我的工作。

我的要求是在我的 Spring 安全 Web 应用程序中禁用 js 和 css 文件的缓存。但是同时在一个特定的会话中缓存这些文件。

建议的方法之一是为每个请求传递一个惟一的 id。

这就是我所做的:-而不是

<script language="javascript" src="js/home.js"></script>

我用过

<script language="javascript" src="js/home.js?id=${pageContext.session.id}"></script>

欢迎对上述方法提出任何反对意见?

最后两个解决方案有利也有弊,但恕我直言,它们都是伟大的解决方案。

  1. 您可能希望也可能不希望您的会话 ID 像那样嵌入到您的 URL 中,以实现更严格的安全性。但是在开发过程中,这应该无关紧要,但是如果您忘记删除它呢? 这真的有用吗?您是否需要类似于序列号生成器的东西(在会话中存储命中计数,或者甚至只是如果1然后0,如果0然后1) ?

  2. 添加会话 ID (或任何序列器)意味着您需要记住将其添加到不希望缓存的每个资源中。一方面,这样做更好,因为您可以只包含您正在积极开发和测试的资源的会话 ID。另一方面,这意味着你必须这样做,你必须记住删除生产。

  3. 修改 vhost.conf 或。Htaccess 文件很好地完成了这个任务,而不需要记住添加和删除会话 ID。但是缺点是所有 js 和 css 资源的性能都会受到影响,如果您有大文件,这将使您的速度变慢。

这两个方案看起来都很棒,很优雅——取决于你的需求。

没有特定的选项只禁用 JavaScript 的缓存,您必须完全禁用缓存。

FireBug 有一个选项可以在 Network 选项卡的下拉菜单中禁用浏览器缓存。

在更高版本的火狐中,比如夜间,有一个名为“禁用缓存”的选项,你可以通过点击设备来找到它。这个选项只在当前会话中有效,这意味着当您关闭检查器并重新启动它时,如果您希望禁用 catch,则必须再次检查它。

在同一个页面上,如果你想禁用缓存,可以这样做: 仅供参考: 我正在开发的版本是30.0

你可以:

open webdeveloper toolbar open web developer

and pick disable cache

之后,它将重新加载页面从它自己(你是在) ,每件事情都被重新获取,任何进一步的请求也被重新获取每次,你可以让网络开发人员始终保持开放,以保持眼睛,并确保它始终在(检查)。

如果你使用 FireBug,网络选项卡的下拉菜单中有一个选项禁用浏览器的缓存。

enter image description here

在 Firefox 45中,可以通过更改以下值来设置磁盘缓存选项: 浏览器,缓存,磁盘,启用

该值可以在“ about: config”页面上设置。

http://kb.mozillazine.org/About:config_entries#Browser上,我发现了以下关于“ Browser.cache. disk.able”的描述:

True (缺省值) : 使用磁盘缓存,最大容量为 Browser.cache. disk.ability 中指定的容量 False: 禁用磁盘缓存(效果与将 Browser.cache.disk.ability 设置为0相同)

Firefox 48开发工具

只允许在打开工具箱时关闭缓存,这对于 web 开发来说是完美的:

  • F12
  • 右上角的变速箱
  • 向下滚动顶部高级设置
  • 选中“禁用缓存(当工具箱打开时)”

enter image description here

Https://stackoverflow.com/a/27397425/895245 有相似的内容,但定位有所改变。

首先,这很容易做到,比如 PHP 强制浏览器根据缓存日期(过期时间)更新文件。如果只是实验需要,那么尝试使用 ctrl + shift + del 在 Firefox 浏览器中一次性清除所有缓存。第三种解决方案是使用许多 Firefox 退出的附加组件来根据时间线清除缓存。