Answers:
在Firefox地址栏中输入“ about:config”,然后设置:
browser.cache.disk.enable = false
browser.cache.memory.enable = false
如果是本地开发,或使用HTML5的新清单属性,则可能还必须在about:config中设置以下内容-
browser.cache.offline.enable = false
该网页开发工具有一个选项来禁用缓存,这使得它很容易打开它,当你需要它。
您是否尝试过使用CTRL- F5更新页面?
Firefox 48开发人员工具
仅在打开工具箱时才允许您关闭缓存,这非常适合Web开发:
https://stackoverflow.com/a/27397425/895245具有相似的内容,但是自那以后位置有所变化。
如果您正在使用服务器端代码,则可以生成随机数,并以以下方式将其附加到src的末尾...。
src =“ yourJavascriptFile.js?randomNumber = 434534”
每次都会随机生成randomNumber。
我知道我要复活一个古老的问题,但是今天我试图解决这个问题并找到替代解决方案。当我想测试时切换缓存对我来说并不是真正可以接受的,并且正如其他人提到的那样,硬刷新(ctrl + shift + r)并不总是有效。
相反,我选择将以下内容放入开发环境中的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等环境中进行测试也很容易。
在此处找到该代码段以及其他一些方便的Apache技巧:http : //www.askapache.com/htaccess/using-http-headers-with-htaccess.html#prevent-caching-with-htaccess
为了确保我的客户总是看到生产中的最新版本,我们在每次更新的js包含的查询字符串中增加查询字符串,即
jquery.somefile.js?v=0.5
这会迫使我的客户的浏览器在看到新的查询字符串时更新其本地缓存,但随后缓存新副本,直到再次更新文件
最好的策略是设计您的网站,以为您的JS文件构建一个唯一的URL,该URL在每次更改时都会重置。这样,当没有更改时,它将缓存,但是当发生任何更改时,它将立即重新加载。
您需要针对特定的环境工具进行调整,但是如果您使用的是PHP / Apache,那么这对您和最终用户都是一个不错的解决方案。
http://verens.com/archives/2008/04/09/javascript-cache-problem-solved/
最后两种解决方案各有利弊,但它们都是恕我直言的绝佳解决方案。
您可能会或可能不希望将会话ID嵌入到您的URL中,以加强安全性。但是在开发中这并不重要,但是如果您忘记将其删除怎么办?这真的有用吗?您是否不需要像序列号生成器(会话中存储的点击计数,或者甚至是1到0,如果0到1)之类的东西?
添加会话ID(或任何排序器)意味着您需要记住将其添加到不需要缓存的每个资源中。一方面,这更好,因为您可以仅将会话ID包含在您正在积极开发和测试的资源中。另一方面,这意味着您必须这样做,并且必须记住将其删除以进行生产。
修改vhost.conf或.htaccess文件可以很好地完成此任务,而无需记住添加和删除会话ID。但是不利的是,所有js和CSS资源的性能都会受到影响,如果文件很大,那将会使您的速度变慢。
两者似乎都是很棒的优雅解决方案-取决于您的需求。
我使用CTRL- SHIFT- DELETE激活的隐私功能,让您可以清除缓存,重置饼干等,都一次。您甚至可以对其进行配置,使其仅执行此操作,而不是弹出一个对话框要求您确认。
在firefox 45中,可以通过更改以下值来设置磁盘缓存选项:browser.cache.disk.enable
该值可以在“ about:config”页面上设置。
在http://kb.mozillazine.org/关于:config_entries#Browser我找到了以下有关“ browser.cache.disk.enable”的描述:
True(默认):使用磁盘缓存,最大使用在browser.cache.disk.capacity中指定的容量False:禁用磁盘缓存(与将browser.cache.disk.capacity设置为0相同的效果)
首先,这很容易做到,例如通过PHP强制浏览器根据缓存日期(过期时间)更新文件。如果您只是出于实验需要而使用它,请尝试使用ctrl + shift + del一次清除Firefox浏览器中的所有缓存。第三种解决方案是使用许多Firefox退出的加载项,以根据时间线清除缓存。