【转载】----web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
来源:互联网 发布:热处理技术数据手册 编辑:程序博客网 时间:2024/05/20 14:17
问题描述
最近将公司官网样式进行了调整,部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常。
转载自:http://blog.csdn.net/csdn100861/article/details/50684438
问题分析
研究之后发现可能的原因有
- css文件过大,加载缓慢
- 本地缓存问题,虽然服务器修改了css文件,但是浏览器仍然使用本地缓存的css,
需要用户多刷新一次才能正常展示显然是很不合理的,那么怎么样解决更新后让浏览器请求新的css或js文件呢?
解决办法
方法1 更新文件后更改css/js文件名。
其实解决这个问题很简单,缓存是通过文件名标记缓存的内容的。在你更新了网站的css文件内容后,在更换一下css的文件名就可以了。如原先html中的css调用语句如下:
- 1
- 1
改一下css文件名:
- 1
- 1
方法2 给css/js文件加个版本号
每次修改css文件后还要修改css的文件名有点麻烦,那么我们可以在加载css语句中加入个版本号(即css链接中?后面的内容)就可以了。如原先html中的css调用语句如下:
- 1
- 1
将css文件的版本号改成新的:
- 1
- 1
关于css/js文件后缀参数:
css文件后面的问号起不到实际作用,仅能当作后缀,如果用问号加参数的方法,可以添加版本号等信息,更新的同时可以刷新一下浏览器端的缓存。一个小小的细节,可以给我们带来很大的方便。
比如:
- 1
- 1
- 1
- 1
使用参数的两种作用:
客户端会缓存css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件,起到刷新缓存的作用。
脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 :
- 1
- 1
- 1
- 1
但浏览器会认为他是 该文件的某个版本!
第一使用最多,也可能两种作用同时使用。
阅读全文
0 0
- 【转载】----web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
- web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
- web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
- web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
- 浏览器页面数据保存后不显示,需要重新刷新页面才能正常显示的解决方法
- 关于引用JS和CSS刷新浏览器缓存问题
- 关于flexble.js 刷新后才能自适应手机的问题
- 网站发布以后频繁不能访问,需要重启IIS服务才能正常工作的解决办法
- 解决修改css或js文件,浏览器缓存更新问题。
- 解决修改css或js文件,浏览器缓存更新问题。
- [DELVE][web]解决jsp修改后,修改的内容需要重启tomcat才能刷新出来
- 浏览器缓存_后台更新js,浏览器中更新后的js代码不显示
- 解决修改css文件或js文件后浏览器无法及时更新的问题方法
- 【XCode中变更 resource文件后,需要重新编译才能正确识别更新】问题的解决方案
- js更新dom后的强制刷新问题
- ecshop 商品详细页出现读取信息有缓存 需要后台清除缓存才能正常 一段时间后产品显示又不正常的
- 关于更新发布CSS和JS文件的缓存问题
- 关于更新发布CSS和JS文件的缓存问题
- 查看集群节点api
- delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
- Android Intent.bundle 在activity中一对一传递数据
- 初步认识函数
- mybatis入门教程
- 【转载】----web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
- Coderforces Insomnia cure
- VC++实现读取本地已登录的QQ号及应用代码
- apache配置问题:局域网和本机能访问,但是外网无法访问
- 测试人员的核心测试原则
- 我仿佛成了那个差不多先生
- 复杂链表的复制
- Python数据分析-数据加载
- Java中的枚举类