例子,js设置与获取缓存。
-
- //设置缓存,获取设置的缓存,键值对形式, name value
- localStorage.getItem("key"); //获取键的值
- localStorage.setItem("key", 1); //设置键的值
复制代码
解决js缓存地址问题
js实现不缓存
不缓存js的方法
-
- <script> <li>document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'>"+"ipt>"); <li></script>
复制代码
其他的类似,只需在地址后加上+Math.random()
注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以
若上面改为
则无法实现不缓存
js文件不缓存
每次连接的地址变化,利用js随机数
-
- document.write("
"+"ipt>");
复制代码
禁用页面缓存的几种方法(静态和动态)
1、在Asp页面首部 加入 以下是引用片段:
-
- Response.Buffer = True
- Response.ExpiresAbsolute = Now() - 1
- Response.Expires = 0
- Response.CacheControl = "no-cache"
- Response.AddHeader "Pragma", "No-Cache"
复制代码
2、在html代码中加入
3、在重新调用原页面的时候在给页面传一个参数 Href="****.asp?random()"
前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数!
因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。
这个仅适用于asp&asp.net 。
4、在jsp页面中实现无缓存:
-
- response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
- response.setHeader("Pragma","no-cache"); //HTTP 1.0
- response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
-
复制代码
这些代码加在 中间具体如下
-
-
- response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
- response.setHeader("Pragma","no-cache"); //HTTP 1.0
- response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
- %>
-
复制代码
5、window.location.replace("WebForm1.aspx");
参数就是要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。
这样可以防止用户点击back键。使用的是javascript脚本,举例如下:
a.html
b.html
前4种只是清空了cache,即存储在Temporary Internet Files文件夹中的临时文件,而第五种则是使用跳转页面文件替换当前页面文件,并没有清空cache。
即emporary Internet Files产生了相关的临时文件,两者搭配使用真是清空缓存。
|