`

"时间戳"与IE缓存

    博客分类:
  • Ajax
阅读更多

今天看CZBK的AJAX视频,发现一个小问题,不经常注意的问题.对于IE浏览器有这种现象,在访问相同地址的时候会调用 服务器端在浏览器中的缓存.比如访问的两次地址都是 http://localhost:8888/Test/Servlet?name=evan那么第二次访问就不会重新访问服务器端,而会直接调用浏览器离的缓存来进行返回运算.
解决方法是利用"时间戳"的伪地址骗过浏览器.  在发送url请求时加上一个参数,这个参数是时间戳,就是系统时间.(以毫秒为单位的数字类型),下面是视频教程中写的一个js函数.

 

function convertURL(url) {
  var timstamp = (new Date()).valueOf();
  if (url.indexOf("?") >= 0) {
    url = url + "&t=" + timstamp;
  } else {
    url = url + "?t=" + timstamp;
  }
  return url;
 }

 

经测试在FX下不会有此缓存,而在IE下会有.
这个时间戳的伪地址还用在 一般web验证码刷新上!

分享到:
评论
1 楼 myfreespace 2010-06-29  
   :)       :cry[/color][size=x-small][/size][align=left][/align]: [color=red]
引用
[u][/u][i][/i][b][/b][img][/img][url][/url][flash=200,200][/flash]

相关推荐

    使用时间戳解决ie缓存的问题

    当编辑某条数据时,再回过头来进行编辑,会发现,里面的数据和没有编辑以前是一样的,这就是ie缓存的问题,下面是一个不错的解决方法

    IE下jquery ajax无法获得最新数据的问题解决(IE缓存)

    今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到最新数据,而在IE中获得是旧数据,无法获得最新的数据,经查资料,才发现时IE缓存再作怪。 发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览...

    IE9下Ajax无法刷新数据的缓存问题解决方法

    原因是,在IE9下,进行Ajax请求时,若与之前请求相同,则不会再从浏览器获取数据,而是直接从本地获取,因此,在请求中加上时间戳,IE9便会认为是不同的请求,代码如下: $.getJSON(webApp + "/GetHccShowData.do?...

    JavaScript中的常见问题解决方法(乱码,IE缓存,代理)

    解决AJAX中文乱码常用的两种方法 1. 在客户端进行encodeURI(utf-8也可以不做,默认),在服务器端将iso-8859-1编码转为utf-8编码 2.在客户端进行两次encodeURI,在服务器端进行一次转换。 第2种方法能解决问题的...

    EasyUI中datagrid在ie下reload失败解决方案

    1.在url后加时间戳,使第一次加载和reload中访问的url不一致,使系统无法使用IE缓存。通过测试发现,EasyUI请求时后面已经自带一串随机数_145232xxx,但是ie还是会使用缓存。后来我在请求的js中为url加上rand=xxx...

    IE8下Ajax缓存问题及解决办法

    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 下面的代码,在其他浏览器都是正常的,但是在IE8中出现诡异问题。 $....

    jquery中ajax学习笔记4

    缓存问题: 何谓缓存问题?即当浏览器的输入内容相同,即请求的URL相同,这样浏览器就... 修改的代码: AJAXServer.java 缓存问题 代码如下: //缓存问题加的测试代码 输入内容不变IE、360次数不增加,firefox会增加 In

    jquery用get实现ajax在ie里面刷新不进入后台解决方法

    代码如下: function verify() { var jqueryObj = $... //注意这里由于ie采用缓存技术,对于同一url,只有第一次回调用后台,以后访问的就是这个缓存 //这里加上时间戳,就可以欺骗一下ie,每次都可以访问后台了,^_^ ur

    解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题

    而不会去请求接口获取最新数据,我用的解决方法是在每个请求发送前,拦截请求并给请求接口的URL后加一个时间戳(new Date().getTime()),这样就保证了每一次请求的URL都不同,ie11就会不断的请求接口而不使用缓存数据...

    enhance-css:充分利用CSS的Node.js工具(图像嵌入,缓存增强器,资产宿主)

    改善缓存-通过重写URL并重命名文件以包括时间戳或MD5哈希值; 并行处理请求-通过使用一个或多个资产托管者重写URL; 减少请求数量-通过将图像嵌入为数据。 还有一个选项可以创建非常适合较旧浏览器(IE 7及更低...

    PixelPerc:一个帮助构建响应式网站的简单工具

    我在缓存破坏的 CSS 和 JS 引用中添加了粗略的时间戳。 欢迎更好的技术。 只需要支持好的浏览器。 我不担心 IE,我相信开发人员无论如何都不会成为 IE 用户。 去做 清理(​​草率编写)JavaScript 排水沟帐户 让...

    .NET万能框架:Masuit.Tools

    日期时间常用操作:农历操作、时间戳操作,时分秒转换等; 文件操作:大文件操作、文件压缩与解压、ini配置文件操作; 硬件操作:获取电脑各个硬件的性能指标; Html操作:利用C#对html字符串进行“dom”操作,...

    ajax加载页面服务器返回 304 not modified

    304 not modified 那说明在服务器上,你这个xml文件没有修改过,或者要加载的页面在本地没有被修改,本地缓存造成了这个问题 常用的防止被缓存的方法,就是在后面加一个随机数,或者你也可以加个时间戳 比如请求的...

    精易模块[源码] V5.15

    2、删除“文件_取图标”与"文件_取图标句柄"功能重复。 3、优化“系统_创建桌面快捷方式”流程代码,感谢易友[ds9660]反馈。 4、修正“IP_10进制转IP”与“IP_16进制转IP”命令反向的问题,感谢易友[@humanbean ]...

    CuteFTP9简易汉化版

    手动配置代理或防火墙连接设置或一种上传软件自动检测ie浏览器的代理设置,包括“代理。pac“代理脚本文件。 NAT UPnP-CuteFTP将尝试使用“(通用即插即用)NAT接口连接时提供适当的port-mapping安全地从后面一个NAT /...

    超实用的jQuery代码段

    9.26 日期类型与时间戳的转换 9.27 使用数组模拟打字效果 9.28 获取数组中特定索引的最高值 9.29 清除所有的表单内容 9.30 用jQuery删除空白标签和具有非中断空格的标签 第10章 jQuery Mobile移动开发技巧 10.1 让...

    精易官方免费模块v3.60版

    4.增加 “时间_取现行时间戳” 一个可选参数,是否为 十位时间戳 感谢 H婶 的提醒 5.修复 “时间_转为GMT格式” 日期缩写错误 感谢 H婶 的提醒 精易模块 V3.48 what’s new:(20131208) 1 重写 “系统_是否已联网...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例271 清理SESSION缓存提高网站访问的效率 358 第6章 图形图像处理 361 6.1 图像与统计 362 实例272 图形计数器 362 实例273 GD2图形计数器 363 实例274 通过图像显示投票统计结果 365 实例275 通过图像显示密码...

Global site tag (gtag.js) - Google Analytics