js缓存问题

qiumingzhao 2013-10-21 11:19:20
每次更新js文件到服务器,客户端访问不会加载新的js代码,如果在引用js文件后边加时间,那么每次客户端都会重新加载,那怎么才能保证我更新的时候客户端去重新加载呢,用的是svn,求解
...全文
328 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibey 2013-10-21
  • 打赏
  • 举报
回复
引用 3 楼 u010403392 的回复:
[quote=引用 2 楼 yibey 的回复:] 你通过后台的方式输出这个script,然后src = http://xxxx.com?_dc= 这个脚本文件的更新时间 后台去获得这个脚本文件并且获得它的更新时间,这样你每次如果svn更新过了那么就会自动下载了
那么如果这个js文件没修改呢 你客户端也会重新去加载 那么就会浪费资源 我要的效果的js修改的话 让客户端去重新记载显然你的这种方式实现不了的[/quote] 亲如果文件没修改那么文件的最后修改时间始终不变的啊,怎么会重复加载。。为什么你不多思考一下呢
plzzz 2013-10-21
  • 打赏
  • 举报
回复
我觉得完全不用处理这个问题
qiumingzhao 2013-10-21
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
一般是在js后面加版本参数,没才修改都要修改版本参数就不会缓存了 动态页很好实现,做个通用文件include就行了 如果是静态页的,刷新后浏览器一般都会自动检查是否有新版本(IE可能例外,缓存比较厉害),js应该都不经常更新,更新的比例比较高就加时间戳每次下载一次文件了
用的是extjs所有的页面都是用js做的,加时间戳每次更新浪费资源
Null_Reference 2013-10-21
  • 打赏
  • 举报
回复
你的Js文件很大么?还需要考虑Js缓存?我觉得对于一个服务器而言Js文件应该不是什么问题吧?
qiumingzhao 2013-10-21
  • 打赏
  • 举报
回复
引用 4 楼 notlikeGaoShou 的回复:
引用 楼主 u010403392 的回复:
每次更新js文件到服务器,客户端访问不会加载新的js代码,如果在引用js文件后边加时间,那么每次客户端都会重新加载,那怎么才能保证我更新的时候客户端去重新加载呢,用的是svn,求解
没明白楼主啥意思,你是使用svn还是说js呢,svn你每次手动更新呗,js的话在客户端和服务端和svn又有什么关系
和svn没有关系,但是网上说可以利用svn版本号去实现,手动更新多麻烦啊
Go 旅城通票 2013-10-21
  • 打赏
  • 举报
回复
一般是在js后面加版本参数,没才修改都要修改版本参数就不会缓存了 动态页很好实现,做个通用文件include就行了 如果是静态页的,刷新后浏览器一般都会自动检查是否有新版本(IE可能例外,缓存比较厉害),js应该都不经常更新,更新的比例比较高就加时间戳每次下载一次文件了
notlikeGaoShou 2013-10-21
  • 打赏
  • 举报
回复
引用 楼主 u010403392 的回复:
每次更新js文件到服务器,客户端访问不会加载新的js代码,如果在引用js文件后边加时间,那么每次客户端都会重新加载,那怎么才能保证我更新的时候客户端去重新加载呢,用的是svn,求解
没明白楼主啥意思,你是使用svn还是说js呢,svn你每次手动更新呗,js的话在客户端和服务端和svn又有什么关系
qiumingzhao 2013-10-21
  • 打赏
  • 举报
回复
引用 2 楼 yibey 的回复:
你通过后台的方式输出这个script,然后src = http://xxxx.com?_dc= 这个脚本文件的更新时间 后台去获得这个脚本文件并且获得它的更新时间,这样你每次如果svn更新过了那么就会自动下载了
那么如果这个js文件没修改呢 你客户端也会重新去加载 那么就会浪费资源 我要的效果的js修改的话 让客户端去重新记载显然你的这种方式实现不了的
yibey 2013-10-21
  • 打赏
  • 举报
回复
你通过后台的方式输出这个script,然后src = http://xxxx.com?_dc= 这个脚本文件的更新时间 后台去获得这个脚本文件并且获得它的更新时间,这样你每次如果svn更新过了那么就会自动下载了
qq137051908 2013-10-21
  • 打赏
  • 举报
回复
你都说了在 js文件后边加时间,那么每次客户端都会重新加载
浴火_凤凰 2013-10-21
  • 打赏
  • 举报
回复
配置一下服务器,服务器都有这个设置吧
Go 旅城通票 2013-10-21
  • 打赏
  • 举报
回复
引用 19 楼 u010403392 的回复:
引用 15 楼 notlikeGaoShou 的回复:
[quote=引用 13 楼 qinlei812810 的回复:] 不知所云,js 加时间那不就可以更新了吗?关svn毛事...
对呀,svn时间戳和js有什么关系啊,还是不明白啊
我改了js代码我才会让客户端去重新加载,我没有改,客户端加载缓存就行了[/quote] 你不设置服务器缓存文件或者过期头,每次都会发送缓存的时间和服务器端的文件进行对比的,如果不是最新文件就会重新下载 设置缓存了文件或者哪时过期那个响应头,只能加参数
qiumingzhao 2013-10-21
  • 打赏
  • 举报
回复
引用 15 楼 notlikeGaoShou 的回复:
引用 13 楼 qinlei812810 的回复:
不知所云,js 加时间那不就可以更新了吗?关svn毛事...
对呀,svn时间戳和js有什么关系啊,还是不明白啊
我改了js代码我才会让客户端去重新加载,我没有改,客户端加载缓存就行了
qiumingzhao 2013-10-21
  • 打赏
  • 举报
回复
引用 14 楼 u012463264 的回复:
[quote=引用 10 楼 yibey 的回复:] [quote=引用 3 楼 u010403392 的回复:] [quote=引用 2 楼 yibey 的回复:] 你通过后台的方式输出这个script,然后src = http://xxxx.com?_dc= 这个脚本文件的更新时间 后台去获得这个脚本文件并且获得它的更新时间,这样你每次如果svn更新过了那么就会自动下载了
那么如果这个js文件没修改呢 你客户端也会重新去加载 那么就会浪费资源 我要的效果的js修改的话 让客户端去重新记载显然你的这种方式实现不了的[/quote] 亲如果文件没修改那么文件的最后修改时间始终不变的啊,怎么会重复加载。。为什么你不多思考一下呢[/quote] 正解[/quote] 我说的是整体网站,我不会每个js文件区加那什么时间,你这种手动处理的网上一搜一大堆,我就不需要在这里提问了
似梦飞花 2013-10-21
  • 打赏
  • 举报
回复
添加版本 版本相同的话客户端就去缓存查了 不同的话客户端找不到 就会去服务端找了 和加时间有点类似 只不过加成什么样由你控制 试试
notlikeGaoShou 2013-10-21
  • 打赏
  • 举报
回复
要实现什么东西能说清楚一下么,楼主
notlikeGaoShou 2013-10-21
  • 打赏
  • 举报
回复
引用 13 楼 qinlei812810 的回复:
不知所云,js 加时间那不就可以更新了吗?关svn毛事...
对呀,svn时间戳和js有什么关系啊,还是不明白啊
别闹腰不好 2013-10-21
  • 打赏
  • 举报
回复
引用 10 楼 yibey 的回复:
[quote=引用 3 楼 u010403392 的回复:] [quote=引用 2 楼 yibey 的回复:] 你通过后台的方式输出这个script,然后src = http://xxxx.com?_dc= 这个脚本文件的更新时间 后台去获得这个脚本文件并且获得它的更新时间,这样你每次如果svn更新过了那么就会自动下载了
那么如果这个js文件没修改呢 你客户端也会重新去加载 那么就会浪费资源 我要的效果的js修改的话 让客户端去重新记载显然你的这种方式实现不了的[/quote] 亲如果文件没修改那么文件的最后修改时间始终不变的啊,怎么会重复加载。。为什么你不多思考一下呢[/quote] 正解
  • 打赏
  • 举报
回复
不知所云,js 加时间那不就可以更新了吗?关svn毛事...
萧萧可乐 2013-10-21
  • 打赏
  • 举报
回复
首先 在发布迭代前 应该打包好js css代码 xxx_2013_10_21.min.js xxx_2013_10_21.min.css 如果是开发的话 就不用讲究了吧 IE和chrome在开发者模式下 有始终从服务器取文件的 firefox的话 就不记录缓存
加载更多回复(1)

87,910

社区成员

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

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