Firefox中包含清除缓存的JavaScript

use*_*841 24 javascript firefox caching

我正在为一个网站开发JavaScript,用Firefox开发,当我刷新页面时,我看不到我的变化.JavaScript文件位于外部文件中.我重新加载并刷新了几次页面,但旧的JavaScript文件仍然被缓存.最后,我直接在浏览器中加载了JavaScript页面,看到了旧脚本,点击"重新加载",看到了我的更改.

如何清除缓存的外部JavaScript文件?当我告诉客户端进行了更改时,我也需要知道这一点,以便他们不会看到旧的缓存功能.

arm*_*nge 14

在Firefox中,您可以安装一个名为Web Developer Toolbar的插件,它有一个appcache clear命令

我认为没有办法以编程方式进行,但您可以使用类似的东西给浏览器一个提示

<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>
Run Code Online (Sandbox Code Playgroud)

  • 当我想让所有当前用户获得新内容时,我有时也会使用它.但是,我建议使用`filemtime('js/my.js')`而不是随机值. (3认同)
  • 我发现Web Developer Toolbar上的'禁用缓存'选项适合我:) (2认同)

Tha*_*hai 14

要在Firefox中绕过缓存一次:

  • 按住键的同时单击重新加载按钮shift.
  • Ctrl+F5
  • Ctrl+ Shift+ R或Cmd + Shift+R
  • 对于其他浏览器

一些Web托管服务缓存页面服务器端.绕过缓存时,Web浏览器将发送一个标头告诉服务器它不应该使用缓存数据进行响应.


Poi*_*nty 9

浏览器具有面向用户的工具来清除缓存.通常它是某个菜单选项.您无法强制清除缓存.

可以做的是安排从根据版本号(或其他)不同的URL加载脚本:

<script src='http://your.site.com/js/big_script.js?version=2'></script>
Run Code Online (Sandbox Code Playgroud)

现在,当您更新代码时,您将更新使用它的页面:

<script src='http://your.site.com/js/big_script.js?version=3'></script>
Run Code Online (Sandbox Code Playgroud)

这是一个不同的URL,它不会在缓存中.


jAn*_*ndy 7

一种非常流行的技术是使用查询字符串参数.可能看起来像

<script src="http://www.somedomain.com/foobar.js?v=1></script>
Run Code Online (Sandbox Code Playgroud)

如果将此行更改为v=2浏览器,则会重新加载以前缓存的脚本.