`
seastar1989_zhx
  • 浏览: 3630 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

浏览器缓存与时间戳

    博客分类:
  • Ajax
 
阅读更多

    很多时候我们访问一个网页,但是当我们再次向访问服务器时,可能返回的页面内容是存储在浏览器的缓存里的,比如说提交图片验证码的时候,我们点击“下一张”,图片验证码没有发生改变,如下伪代码

 

<img src="imageServlet" id="validateImg"/>

<a href="javascript:nextValidateImg()">换一张</a>

 

点击超链接时,得到浏览器缓存里的图片验证码,因为浏览器根据前后访问的页面是否相同来判断是否采用缓存页面,为了骗过浏览器,我们可以采用时间戳的方法

 

function nextValidateImg(){
    var url="imageServlet";
    url = convertUrl(url);
    $("#validateImg").src = "url";
}

function convertUrl(url){
    var timeStamp = (new Date()).valueOf();

    if(url.indexOf("?") >= 0){
        url = url + "&time=" + timeStamp;
    }else{
        url = url + "?time=" + timeStamp;
    }

    return url;
}

分享到:
评论

相关推荐

    JS_时间与时间戳

    解决 浏览器缓存js获取不到 新的js 的问题

    magento-cachebuster:Magento 1.x模块,它使用HTML5样板社区中概述的最佳实践,促进从HTTP缓存(例如浏览器缓存,CDN,Varnish等)自动清除静态资产。

    Magento Cachebuster Cachebuster是Magento模块,它使用HTML5样板社区中概述的最佳实践,帮助从HTTP缓存(例如浏览器缓存,CDN,Varnish等)自动... 不再有浏览器缓存问题(即:“我请求CSS更改在哪里?”。您:“哦

    你修改了样式,却要我手动清除游览器缓存,这是BUG!

    第三种方式:在引用的静态文件后添加版本号参数,这个参数可以是时间戳或者随机数。处理方式的代码如下: 对于网站首页我们还是希望有缓存的,这样可以减轻服务器的压力。需要解决的问题是:每次更新后,第一次...

    HtmlTimeStamp.exe

    js.css加时间戳防止被浏览器缓存,简单好用~只要选择文件后在放进去就不会被浏览器缓存js或者css文件了哦~欢迎小伙伴下载使用

    M3U8批量下载器V1.4.1

    •优化了浏览器缓存合并的方式,详见下方 •优化使用体验,修复了好多BUG 8月23号更新 •修复本地优化模式下文件名判断的BUG •修复数组下标出错的BUG •修复文件处理逻辑 •忽略转码与不清理缓存选项已回归 •...

    ajax的get请求时缓存处理解决方法

    本文实例讲述了ajax的get请求时缓存处理解决方法。...2. 在url后面添加时间戳: 代码如下:var t = new Date().getTime(); http://www.test.com?a=a&b=b&t=t 3. 利用XMLHttpRequest对象的setRequestHeader函数来设

    ajax清除缓存问题.mht

    js脚本加时间戳,欺骗浏览器,防止不发送请求。。。。

    M3U8批量下载器,全自动可视化-最新版-无限制

    M3U8批量下载器,全自动可视化-最新版-无限制....................... 更新预览 参数调用方式更改,详见下方 去除多余选项,改为自动判定,优化...优化了浏览器缓存合并的方式,详见下方 优化使用体验,修复了好多BUG

    Jquery Ajax的Get方式时需要注意URL地方

    提示:我们要时刻注意浏览器缓存, 当使用GET方式时要添加时间戳参数 (net Date()).getTime() 来保证每次发送的URL不同, 可以避免浏览器缓存. 提示: 当在url参数后面添加了一个空格, 比如” “的时候, 会出现”无法...

    ajax清理缓存

    ajax清理缓存,对于一个浏览器,第一次点击是会调用rpc请求的, 但是你再用同一个浏览器提交表单的时候, rpc不会被提交, 因为参数一样, 这个可能是ajax的XMLHttpRequest对象的问题, 如设置了时间间隔了,实际上...

    jquery中ajax学习笔记4

    缓存问题: 何谓缓存问题?...故加上时间戳在这三种浏览器中都不会再有缓存问题。 修改的代码: AJAXServer.java 缓存问题 代码如下: //缓存问题加的测试代码 输入内容不变IE、360次数不增加,firefox会增加 In

    view-without-cache-bookmarklet:将随机查询变量附加到当前 URL 以破坏大多数缓存

    将当前的 unix 时间戳作为查询变量附加到浏览器的当前页面以破坏大多数缓存 为什么 热门网站使用内容分发网络 (CDN) 和其他缓存策略来减少高流量期间服务器的负载。 虽然通常这很好,但有时您希望快速绕过该缓存,...

    Web组件扩展Time-Elements.zip

    它将时间戳格式化为本地字符串或者相关文本在用户的浏览器上自动更新。这能使服务器的缓存 HTML 片段包含日期,并且能让浏览器按照用户的喜好本地化显示的时间。例如,服务器可能会缓存以下的生产标记: is="local-...

    html-less-boilerplate

    一个基本的缓存破坏用于防止构建之间的 css 缓存(时间戳附加到样式表链接) 您可以使用以下命令启动开发服务器: grunt server 这会将您的浏览器打开到 index.html 页面,并在您更改某些内容时实时重新加载整个...

    fontloader:适用于现代浏览器的小巧快速的字体加载器

    字体加载器 适用于现代浏览器的小巧快速的字体加载器 这是基于代码,并进行了修改... 附加时间戳用于缓存破坏。 基本原理 像 Google Fonts 这样的服务对于快速轻松地将字体添加到页面上非常有用,但需要额外的 DNS 查找

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

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

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

    解决办法: 那就有思路了,我们可以让它每次请求的URL不一样,可以加一个参数,而且这个参数的值每次都不一样,时间戳最好不过了。 代码如下: url: ‘{0}/portal/articleManager/getContents?id={1

    time-elements, 标准 <time> 元素的Web组件扩展.zip

    time-elements, 标准 &lt;time&gt; 元素的Web组件扩展 &lt;时间&gt; 元素扩展以本地化字符串或者在用户浏览器浏览器中自动更新的relative 文本格式设置时间戳。这允许服务器缓存包含日期的HTML Fragments,并允许浏览器根据用户...

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

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

Global site tag (gtag.js) - Google Analytics