Tar*_*rik 48 javascript browser windows
我有一个外部JavaScript文件,无论是在FireFox还是Chrome中,是否清除了所有浏览数据,无论如何都不会更新.我相信当我备份我的文件时发生了一些事情,我只是在名称的末尾添加了"_thedate".然后另存为原始名称.
现在我似乎无法摆脱旧JS,除非我更改文件的名称,我真的不想这样做,或者将脚本添加到PHP页面,这会挤满它.
有人知道解决方案吗?
nop*_*ole 79
您确定要链接到同一个文件,然后编辑同一个文件?
在某些浏览器上,您可以使用CTRL F5强制刷新.
Firebug还有一个带有"禁用浏览器缓存"的网络选项卡
如果您使用谷歌浏览器调试器,它是相同的,您可以转到网络部分,并确保在调试器面板的设置中选中"禁用缓存(当DevTools打开时)".
此外,当您链接JavaScript文件时,请使用
<script src="my-js-file.js?v=1"></script>
Run Code Online (Sandbox Code Playgroud)
或者v=2,等等,当你肯定想刷新文件时.或者你可以去控制台做一个Date.now()并获得时间戳,例如1491313943549和使用
<script src="my-js-file.js?t=1491313943549"></script>
Run Code Online (Sandbox Code Playgroud)
一些构建工具会自动为您执行此操作,或者可以配置为执行此操作,使其类似于:
<script src="main.742a4952.js"></script>
Run Code Online (Sandbox Code Playgroud)
这基本上会破坏缓存.
请注意,当您使用v=2或t=1491313943549,或者main.742a4952.js,你也有优点,为您的用户,他们肯定会得到新的版本也是如此.
小智 15
如何在标签上添加"?2"?
<script src="a.js?2"></script>
服务器应返回带有或不带"?2"的相同文件,但浏览器应将其视为不同的文件并重新下载.只要文件发生更改,您就可以更改此查询字符串.
改编自:http://blog.httpwatch.com/2007/12/10/two-simple-rules-for-http-caching/
Ant*_*ony 13
我以前遇到过这个问题,非常令人沮丧,但我找到了解决方法.输入js文件的完整地址(即yourhost.com/javascript.js)并加载它.您可能会看到旧版本加载.然后按f5刷新该页面,您应该看到新版本加载.js文件现在将在缓存中更新,代码应该按预期运行.
小智 9
我使用的解决方案是.使用firefox
1.使用web developer - > Web Console
2.在新选项卡中打开java-script文件.
3.刷新新选项卡,您应该看到新代码.
4.刷新原始页面
5.您应该看到您的更改.
小智 5
聚会有点晚了,但如果你把它放在你的 html 中,它会阻止你的网站更新缓存。加载网站需要更长的时间,但出于调试目的,我喜欢它。取自这个答案:如何以编程方式清空浏览器缓存?
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
Run Code Online (Sandbox Code Playgroud)