Firefox中包含清除缓存的JavaScript

时间:2011-01-12 15:45:48

标签: javascript firefox caching

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

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

7 个答案:

答案 0 :(得分:14)

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

我认为没有办法以编程方式进行,但您可以使用类似

的内容给浏览器提示
<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>

答案 1 :(得分:13)

在Firefox中绕过缓存一次:

  • 按住 shift 键,单击重新加载按钮。
  • 控制 + F5
  • Ctrl + Shift + R 或Cmd + Shift + R
  • for other browsers

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

答案 2 :(得分:9)

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

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

<script src='http://your.site.com/js/big_script.js?version=2'></script>

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

<script src='http://your.site.com/js/big_script.js?version=3'></script>

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

答案 3 :(得分:7)

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

<script src="http://www.somedomain.com/foobar.js?v=1></script>

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

答案 4 :(得分:1)

Shift-reload经常会更积极地清除缓存。但是,你真的不想依赖于此。一种好的技术是对外部Javascript的文件名进行版本控制,并在转动时更新引用它们的HTML。这样,您也可以更好地依赖缓存(例如,在Web服务器中将缓存标头设置为“public”,并指定很长的Expires时间。)

答案 5 :(得分:0)

禁用js缓存: Dev工具(F12)>网络>禁用缓存

然后刷新页面: F5

答案 6 :(得分:0)

禁用 Angular.js 分解:开发工具 (F12) > 调试器 > [设置图标] > 取消选中 Source Maps

然后您可能需要重新启动 Firefox。

Source Maps 阻止我调试修改后的应用程序。