js文件改变之后浏览器缓存问题怎么解决?

kahnnash 2013-08-12 01:55:41
升级了js文件,很多页面都引用了这个文件,需要主动清除浏览器缓存才会生效,有没有什么办法可以不主动清除就可以?
...全文
5480 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hailong20062008 2015-07-27
  • 打赏
  • 举报
回复
老帖 未结贴 我说说我的想法。 1.较少地方的引用 直接改文件名。实测 有效 2. 文件引用<script src="../js/a.js?ts=new Date().getTime()" type="text/javascript"></script> 加参数值,new Date().getTime()过断时间重试应该有效果的。实测,页面可以正确加载该文件。 3.服务器上处理 清理缓存?应用程序池关闭重启是否有效?(我没有搞过) 4. webconfig/<appSettings> + cs代码控制。flag=1,执行静止缓存代码;flag=0,不执行。一段时间后,无修改了。修改webcongfig <appSettings>参数设置。 (还未测)
默默不得鱼 2013-08-24
  • 打赏
  • 举报
回复
可以考虑拦截这个a.js的http请求 重定向到b.js
rexuenaner929 2013-08-24
  • 打赏
  • 举报
回复
引入js文件的时候,后面加一个时间戳的参数
来自地狱 2013-08-23
  • 打赏
  • 举报
回复
加个随机数试试
kahnnash 2013-08-17
  • 打赏
  • 举报
回复
引用 6 楼 xiaofanku 的回复:
[quote=引用 5 楼 kahnnash 的回复:] [quote=引用 4 楼 xiaofanku 的回复:] [quote=引用 3 楼 kahnnash 的回复:] 很多页面都引用了这个js文件,难道每个都要改?
应该是响应的状态码是304了。最简单的方活。重启服务器[/quote] 我昨天重启的测试环境服务器,但是今天用别的浏览器试了一下还是要清缓存才可以。[/quote] 应用服务器有没有方法清理一下缓存?响应状态码304是用户本地记录一个时间戳,服务器记录一个时间戳,如果两个戳一致才会304,如果响应的状态码是304,才使用用户缓存的文件[/quote] 看不懂。。
kahnnash 2013-08-17
  • 打赏
  • 举报
回复
引用 8 楼 ftiger 的回复:
很多页都引用的js,这个引用没有独立出来做一个模块?没做的话现在做吧。
WdatePicker.js升级到支持IE9了。很多页面都引用了。
jonny0220 2013-08-13
  • 打赏
  • 举报
回复
坐等解答,顶一下。
fycsa 2013-08-13
  • 打赏
  • 举报
回复
这个问题我也遇到过,不知道怎么解!
ftiger 2013-08-13
  • 打赏
  • 举报
回复
很多页都引用的js,这个引用没有独立出来做一个模块?没做的话现在做吧。
求知也无涯 2013-08-13
  • 打赏
  • 举报
回复
如果你非要这个js文件始终不缓存的话,那就每次在src="xxxx.js?t=system_time()" 跟上一个时间戳就行。这样始终不缓存。。。
街头小贩 2013-08-12
  • 打赏
  • 举报
回复
引用 5 楼 kahnnash 的回复:
[quote=引用 4 楼 xiaofanku 的回复:] [quote=引用 3 楼 kahnnash 的回复:] 很多页面都引用了这个js文件,难道每个都要改?
应该是响应的状态码是304了。最简单的方活。重启服务器[/quote] 我昨天重启的测试环境服务器,但是今天用别的浏览器试了一下还是要清缓存才可以。[/quote] 应用服务器有没有方法清理一下缓存?响应状态码304是用户本地记录一个时间戳,服务器记录一个时间戳,如果两个戳一致才会304,如果响应的状态码是304,才使用用户缓存的文件
kahnnash 2013-08-12
  • 打赏
  • 举报
回复
引用 4 楼 xiaofanku 的回复:
[quote=引用 3 楼 kahnnash 的回复:] 很多页面都引用了这个js文件,难道每个都要改?
应该是响应的状态码是304了。最简单的方活。重启服务器[/quote] 我昨天重启的测试环境服务器,但是今天用别的浏览器试了一下还是要清缓存才可以。
街头小贩 2013-08-12
  • 打赏
  • 举报
回复
引用 3 楼 kahnnash 的回复:
很多页面都引用了这个js文件,难道每个都要改?
应该是响应的状态码是304了。最简单的方活。重启服务器
kahnnash 2013-08-12
  • 打赏
  • 举报
回复
很多页面都引用了这个js文件,难道每个都要改?
pegnjw 2013-08-12
  • 打赏
  • 举报
回复
楼上正解,试试就知道了
ftiger 2013-08-12
  • 打赏
  • 举报
回复
修改文件名,加上版本号,或  xxx.js?v=0.101

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧