Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
清除Firefox中包含的缓存JavaScript_Javascript_Firefox_Caching - Fatal编程技术网

清除Firefox中包含的缓存JavaScript

清除Firefox中包含的缓存JavaScript,javascript,firefox,caching,Javascript,Firefox,Caching,我正在为一个网站开发JavaScript,使用Firefox开发,当我刷新页面时,我看不到我的更改。JavaScript文件位于外部文件中。我多次重新加载和刷新页面,但旧的JavaScript文件仍然被缓存。最后,我直接在浏览器中加载了JavaScript页面,看到了旧脚本,点击“重新加载”,并看到了我的更改 如何清除缓存的外部JavaScript文件?当我告诉客户机已经进行了更改,这样他们就看不到旧的缓存功能时,我也需要知道这一点 浏览器具有面向用户的功能来清除缓存。通常是某个地方的菜单选项。

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


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

浏览器具有面向用户的功能来清除缓存。通常是某个地方的菜单选项。不能强制清除缓存

您可以做的是安排从URL加载脚本,URL根据版本号(或其他任何内容)而变化:


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

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


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

一种非常流行的技术是使用querystring参数。可能看起来像

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

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

我认为没有办法通过编程来实现,但是您可以通过以下方式向浏览器提供提示

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

Shift重载通常会更积极地清除缓存。然而,你真的不想依赖这个。一种很好的技术是对外部Javascript的文件名进行版本化,并在修改时更新引用它们的HTML。这样,您也可以更好地依赖缓存(例如,在Web服务器中将缓存头设置为“public”,并指定长过期时间)。

  • 有一个选项允许您禁用缓存
  • 我也这样做。它位于网络面板的菜单中,称为禁用浏览器缓存
要在Firefox中跳过缓存一次,请执行以下操作:

  • 按住shift键的同时单击“重新加载”按钮
  • Ctrl+F5
  • Ctrl+Shift+R或Cmd+Shift+R

一些web托管服务会将页面缓存到服务器端。绕过缓存时,web浏览器将发送一个标头,告知服务器不应使用缓存数据进行响应。

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


然后刷新页面:F5禁用Angular.js分解:开发工具(F12)>调试器>[设置图标]>取消选中源映射

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


源地图阻止了我调试修改后的应用程序。

当我想让所有当前用户都获得新内容时,我有时也会使用它。但是,我建议使用
filemtime('js/my.js')
而不是仅仅使用随机值。我发现Web Developer工具栏上的“禁用缓存”选项对我很有效:)此示例用于快速测试。您可以通过web浏览器地址栏刷新JS文件。例如:

1。假设您在网站www.foo.com 2。包含一个JS文件bar.JS,并存储在根目录3中。该站点正在缓存站点4的旧版本。使用随机查询字符串直接在浏览器中显示JS文件(例如www.goo.com/bar.JS?random=random)5。浏览器现在使用更新版本的JS文件。+1作为解决方案,防止最终用户也获得陈旧的Javascript。
<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>