如何closuresFirefox的caching?

在开发过程中,我必须始终在Firefox中“清除caching”,以便使用最新版本的JavaScript文件。

是否有某种设置(关于:configuration)完全closuresJavaScript文件的caching? 或者,如果不是,所有文件?

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

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

如果在本地进行开发,或者使用HTML5的新清单属性,则可能还需要在about:config中设置以下内容:

 browser.cache.offline.enable = false 

Web Developer Toolbar有一个禁用caching的选项,可以在需要时轻松打开和closurescaching。

你有没有尝试使用CTRLF5来更新页面?

没有特定的选项来禁用仅用于JavaScript的caching,您将不得不完全禁用caching。

FireBug有一个选项来禁用networking选项卡的下拉菜单中的浏览器caching。

在同一页你想禁用caching做这个:FYI:我工作的版本是30.0

您可以 :

打开web开发工具栏打开web开发者

并选择禁用缓存

之后,它将重新加载自己的页面(你正在),每一个东西都会被回收,并且每次都会重新发送任何请求,并且你可以让Web开发人员始终保持打开状态,以确保它永远在线(检查) 。

如果你正在使用服务器端代码,你可以生成一个随机数,并以下列方式将其附加到src的末尾。

SRC = “yourJavascriptFile.js?randomNumber = 434534”

随机数是随机生成的。

Firefox 48开发者工具

允许您仅在工具箱处于打开状态时才closurescaching,这对于Web开发非常适用:

  • F12
  • 右上angular的变速箱
  • 向下滚动高级设置
  • 检查“禁用caching(当工具箱打开时)”

在这里输入图像说明

https://stackoverflow.com/a/27397425/895245有类似的内容,但定位改变了一下,因为。;

我知道我正在复活一个古老的问题,但我正在努力解决这个问题,并有一个替代解决scheme。 当我想testing时切换caching对我来说并不是真的可以接受的,正如其他人提到的那样,硬刷新(ctrl + shift + r)并不总是工作。

相反,我select在我的dev环境中将下列内容放在我的vhost.conf文件中(也可以在.htaccess中完成):

 <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等testing也很容易。

在这里find这个片段,还有一些其他方便的apache技巧: http : //www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess

为了确保我的客户端始终能够看到最新的产品版本,我们在每个更新上增加了js include的查询string

 jquery.somefile.js?v=0.5 

这迫使我的客户的浏览器更新他们的本地caching,当他们看到一个新的查询string,但然后caching新的副本,直到文件再次更新

最好的策略是devise你的站点来为你的JS文件build立一个唯一的URL,每次改变时都会被重置。 这样,它没有变化时会caching,但在发生任何更改时会立即重新加载。

您需要针对特定​​的环境工具进行调整,但是如果您使用的是PHP / Apache,那么对于您和最终用户来说,这都是一个很好的解决scheme。

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

您可以使用CTRLF5重新加载绕过caching。

您可以在Firefox中设置首选项不使用caching

 network.http.use-cache = false 

您可以设置您的Web服务器为js文件发送no-cache / Expires / Cache-Control标头。

这里是一个Apache Web服务器的例子 。

如果您使用FireBug,在networking选项卡的下拉菜单中有一个选项可以禁用浏览器的caching。

在这里输入图像说明

最后两个解决scheme有优点和缺点,但他们都是恕我直言的伟大的解决scheme。

  1. 您可能希望或不希望将您的会话IDembedded到您的url中,以提高安全性。 但是在发展中应该不重要,但是如果忘记删除呢? 这也真的有用吗? 难道你不需要像序列号生成器(存储在会话中的命中计数,或者甚至可能只是1然后0,如果0然后1)?

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

  3. 修改vhost.conf或.htaccess文件很好地诀窍,而不需要记住添加和删除会话ID。 但是缺点是所有js和css资源的性能都会受到影响,如果你有大文件,那会让你放慢速度。

这两个看起来像伟大,优雅的解决scheme – 取决于您的需求。

我使用CTRLSHIFTDELETE激活隐私function,允许您一次性清除caching,重置cookie等。 你甚至可以configuration它,只是这样做,而不是popup一个对话框要求您确认。

在更高版本的Firefox中,比如Nightly,有一个名为“disable cache”的选项,你可以通过点击齿轮来find它。 而且这个选项只能在当前会话中使用,这意味着当你closures检查器并重新启动时,如果你想禁用catch,你必须再次检查它。

经过2个小时浏览各种替代品,这是我的工作。

我的要求是在我的弹簧安全的Web应用程序中禁用js和css文件的caching。 但同时将这些文件caching在一个特定的会话“内”。

每个请求传递一个唯一的ID是build议的方法之一。

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

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

我用了

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

任何对上述方法的缺点都是值得欢迎的。 安全问题 ?

在Firefox 45中,可以通过更改browser.cache.disk.enable的值来设置磁盘caching选项

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

http://kb.mozillazine.org/About:config_entries#Browser我发现“browser.cache.disk.enable”的以下描述:;

True(默认):使用磁盘caching,最大容量为browser.cache.disk.capacity中指定的容量False:禁用磁盘caching(与将browser.cache.disk.capacity设置为0相同)

首先,这可以很容易地完成,例如通过PHP强制浏览器更新基于cachingdate(到期时间)的文件。 如果你只是需要它的实验需求,然后尝试使用CTRL + SHIFT + DEL在Firefox浏览器内一次清除所有的caching。 第三个解决scheme是使用许多Firefox附加组件来清除基于时间线的caching。