xml被浏览器缓存了
2015-10-29 17:21
316 查看
之前在做广告投放功能,遇到的一个问题。 在页面上轮播广告,是通过把广告信息保存成xml文件,然后在前台通过唯一的id调取该广告信息,具体用ajax异步响应到xml,把广告内容展示在页面上。
只是ajax响应xml文件的时候,即使后台对广告信息作了相应的修改,可是读取的还是旧的内容。
起初我以为是xml文件保存错误了,可是经查证,发现xml是正确的,仅仅是浏览器上输出的广告与xml内容不符。
这时我想到了,浏览器在本地缓存。要尝试如何避免浏览器缓存造成的不能正确显示广告内容。
页面是有自己的url的,如果保证url每次不一样的时候,就可以使浏览器重新请求,而不是沿用之前请求过的内容, 也就是说,只要在链接的Url加入了一个不会影响网页的内容的随机字串,从而使得每次访问该网页的Url都不同,就可以使浏览器不使用缓存中已有的该网页,而使每次显示的都是最新的内容。
所以,可以这么做:
在url后面加一个参数,保证参数的值是实时变化的,常用的有跟一个随机数的参数,或者跟一个年月日时分秒的参数。我是用后者的,对以前的代码稍作修改就ok,效果很明显,也彻底解决了这个浏览器缓存的问题。
<span style="font-size:14px;"><span style="white-space:pre"> </span>var myDate = new Date();
$.ajax({
url:xx.xml+"?nowTime="+myDate,
type: 'GET',
dataType: ($.browser.msie) ? "text" : "xml",
timeout: 1000,
error: function(xml){
alert('Error loading AdsXML document'+xml);
},
success: function(data){
dsCallback(data,tpl);
}
});</span>
其实也有资料说,可以用
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
来避免浏览器的缓存,这样绝不是最佳方法,也有漏网之鱼的可能。
js文件也可以用以上办法来防止被浏览器莫名的缓存了。
只是ajax响应xml文件的时候,即使后台对广告信息作了相应的修改,可是读取的还是旧的内容。
起初我以为是xml文件保存错误了,可是经查证,发现xml是正确的,仅仅是浏览器上输出的广告与xml内容不符。
这时我想到了,浏览器在本地缓存。要尝试如何避免浏览器缓存造成的不能正确显示广告内容。
页面是有自己的url的,如果保证url每次不一样的时候,就可以使浏览器重新请求,而不是沿用之前请求过的内容, 也就是说,只要在链接的Url加入了一个不会影响网页的内容的随机字串,从而使得每次访问该网页的Url都不同,就可以使浏览器不使用缓存中已有的该网页,而使每次显示的都是最新的内容。
所以,可以这么做:
在url后面加一个参数,保证参数的值是实时变化的,常用的有跟一个随机数的参数,或者跟一个年月日时分秒的参数。我是用后者的,对以前的代码稍作修改就ok,效果很明显,也彻底解决了这个浏览器缓存的问题。
<span style="font-size:14px;"><span style="white-space:pre"> </span>var myDate = new Date();
$.ajax({
url:xx.xml+"?nowTime="+myDate,
type: 'GET',
dataType: ($.browser.msie) ? "text" : "xml",
timeout: 1000,
error: function(xml){
alert('Error loading AdsXML document'+xml);
},
success: function(data){
dsCallback(data,tpl);
}
});</span>
其实也有资料说,可以用
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
来避免浏览器的缓存,这样绝不是最佳方法,也有漏网之鱼的可能。
js文件也可以用以上办法来防止被浏览器莫名的缓存了。
相关文章推荐
- asp.net 客户端浏览器缓存的Http头介绍
- PHP下利用header()函数设置浏览器缓存的代码
- Nginx服务器中浏览器本地缓存和虚拟机的相关设置
- 如何关闭火狐浏览器页面缓存
- 浅析http协议、cookies和session机制、浏览器缓存
- 浏览器缓存相关http头
- 浏览器缓存学习笔记
- 如何让php对页面的缓存进行控制 php处理请求的浏览器缓存处理
- 浏览器缓存机制(2)-应用缓存
- 使用时间戳解决浏览器缓存问题
- 业务需求 浏览器缓存
- http协议之浏览器缓存
- JSP中清空浏览器缓存
- 详解web缓存
- 变态的静态资源缓存与更新
- 浏览器缓存知识小结及应用
- 浏览器缓存机制
- 浏览器缓存常用设置
- HTTP请求中的缓存(cache)机制
- 360浏览器下自动填写用户名密码惹祸了