侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130558 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

js中自动清除ie缓存方法

2023-12-13 星期三 / 0 评论 / 0 点赞 / 14 阅读 / 2985 字

对于动态文件,比如 index.asp?id=... 或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.但是对于静态文件(css,jpg,gif等等), 在什

对于动态文件,比如 index.asp?id=...  或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.
但是对于静态文件(css,jpg,gif等等), 在什么场合下面我们需要禁止浏览器缓存他们,怎么做?

    方法一:Dojo中我们可以用简单的方法完成:在dojo.xhrGet(包括post)等方法中都包含preventCache属性,此属性的含义: “默认为启用浏览器缓存,否则将通过自动增加不同的参数来确保浏览器缓存失效”  我们只要把此属性赋值为:“true”即可。
    方法二: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就是版本号,一般都是采用 CVS 或其他工具生成的开发版本号。

这样真正做到了应该缓存的时候缓存静态文件,当版本有更新的时候从获取最新的版本,并更新缓存。
对于图像 <img src="test.jps?ver=在CVS的版本号"> 来有效利用和更新缓存.



客户端有一个HTML文件,是用来提交输入信息的.但问题是:
每次按刷新时,发觉并不是整个页面重新被装载.好似是缓存里的.因为文本框中
仍出现上次输入的值.
只有在地址栏中按回车整个页面才重新装载.
避免这个问题
在html里head区加上这么一段代码:
  
  
   

清除临时缓存

jquery ajax清除浏览器缓存的两种方法:
1.通过$.ajaxSetup 设置属性cache:false,让ajax不调用浏览的缓存.
    jQuery.ajaxSetup ({cache:false}) 

2.可以在ajax的url后加上随机串来避免浏览缓存,如$.ajax({url:'test.php?'+parseInt(Math.random()*100000)})缓存


广告 广告

评论区