关于uiwebview或者网站可能出现的缓存js,css问题
来源:互联网 发布:微软官网的windows 7 编辑:程序博客网 时间:2024/04/27 19:50
最近项目中碰到,每次更新远程web的js和css代码,在iphone手机上总会有比较严重的缓存,基本都需要删除程序再重新安装才能刷新出来。
但本地的request方式已经使用了
NSURLRequestReloadIgnoringLocalCacheData
最后查询其原因,应该是浏览器(包括uiwebview)本身对js和css进行了缓存。
参考了一篇文章进行了解决:
关于css js文件缓存问题
什么情况下,要禁止静态文件缓存:
1、经常可能要改动的 js, css.
比如一个js文件引用如下
<script src="test.js"></script>
后来进行了test.js文件的修改
在这种情况下如果以前用户浏览过此页面,那么他的浏览器自动缓存了 test.js
当他浏览新版本的时候,因为使用的是 缓存js,这样将导致脚本出错。
解决方法探讨:
因为css,js 是通过 <script src=....> 这种方式加载的,所以,很难使用 asp 的那种服务器端禁止缓存的办法。也很难使用ajax的通过设置 http请求头的办法禁止使用缓存。
解决方法
1、随机数法
方法一:
document.write( " <script src='test.js?rnd= " + Math.random() + " '></s " + " cript> " )
方法二:
var js = document.createElement( " script " )
js.src = " test.js " + Math.random()
document.body.appendChild(js)
这样采用随机数的话, js文件将永远得不到缓存,每次都必须重新从服务器加载,即使没有任何更改。
大家如果经常上国外网站的话,可以看到他们通常采用这样的方式来解决:
<script src="test.js?ver=113"></script>
其中 ver=113 的 113就是版本号
这样真正做到了应该缓存的时候缓存静态文件,当版本有更新的时候从获取最新的版本,并更新缓存。
对于图像 <img src="test.jps?ver=版本号"> 来有效利用和更新缓存.
链接:http://www.cnblogs.com/hongsemantuoluo/archive/2013/01/15/2860928.html
- 关于uiwebview或者网站可能出现的缓存js,css问题
- 关于UIWebview缓存的问题
- 关于更新发布CSS和JS文件的缓存问题
- 关于更新发布CSS和JS文件的缓存问题
- 关于更新发布CSS和JS文件的缓存问题
- 关于css js文件缓存问题
- 客户端浏览器缓存Js或者css文件问题
- 关于css缓存的问题
- 关于域名解析可能出现的问题
- 关于iOS开发UIWebView缓存相关问题的解决
- ios UIWebView 加载本地html,js,css文件的问题
- css,js缓存问题
- css、js缓存问题
- [Filter过滤器]解决缓存网站图片,css,js等问题
- iOS UIWebView加载本地HTML页面规避js、css的缓存
- 73.iOS UIWebView重定向问题处理 RNCachingURLProtocol做缓存出现的重定向问题
- 关于引用JS和CSS刷新浏览器缓存问题
- 安装node.js可能出现的问题及解决方法
- 转载:struts2 中的 addActionError 、addFieldError、addActionMessage方法的区别
- iOS性能优化系列
- Redis安装部署
- Xcode基本操作
- 敲开脑洞(一),如何摆脱痛苦,记自己的短期修行
- 关于uiwebview或者网站可能出现的缓存js,css问题
- 奇怪的问题,mov cl,byte ptr [eax],后发现cl=0xcc 地址处明明不是0xcc
- 设计模式之单例模式
- Xmind中图标的导入和导出
- C++中namespace的使用
- eclipse菜单没Android Virtual Device Manager
- 6月18日面试总结
- 一些基本js,php代码块收集
- ViewPager自动循环播放