╋艺 镇╋╋网站网络|程序语言|Flash╋┣◇网站建设&Web语言 → js使用history.go(-2)返回前二页并刷新的问题


  共有21998人关注过本帖树形打印复制链接

主题:js使用history.go(-2)返回前二页并刷新的问题

美女呀,离线,留言给我吧!
admin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
js使用history.go(-2)返回前二页并刷新的问题  发帖心情 Post By:2010/8/23 15:25:39 [显示全部帖子]

在上一页文章里记录了js返回上一页,刷新页面的所有方法,但是并没有找到我想要的解决方案,今天又上网搜了下

       history.go()方法就是加载上几页的缓存,如果想要刷新上几页,那就在页面中禁止使用缓存就OK了,这个问题其实不难,但是却是没有弄明白其中的原理,所以才浪费了这么长的时间

       说下的我问题,我是在列表中点击某一条记录在本页面加载另一个页面,并在新加载的页面中进行修改等操作,操作完成之后想再返回列表页(带参数带分页),使用history.go(-2)一直都返回到了列表页,但是不能加载操作后生成的数据

我使用的是PHP,那么在PHP中就使用如下方法来禁用页面缓存    

<?php   
  
//设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。   
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");     
  
//设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强制浏览器获取最新资料    
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");     
  
//告诉客户端浏览器不使用缓存,HTTP 1.1 协议    
header("Cache-Control: no-cache, must-revalidate");     
  
//告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议    
header("Pragma: no-cache");   
  
?>

这是PHP的办法

那个在html,asp中如何应用呢:

HTML:

<META HTTP-EQUIV="pragma" C>

<META HTTP-EQUIV="Cache-Control" C>

<META HTTP-EQUIV="expires" C>

<META HTTP-EQUIV="expires" C>

 

ASP:

response.expires=0

response.addHeader("pragma","no-cache")

response.addHeader("Cache-Control","no-cache, must-revalidate")



JSP:

response.addHeader("Cache-Control", "no-cache");

response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");

 

 

PS:做了这么多年的开发和网站了,到现在却还是需要靠搜索引擎才能找到像这样的问题的答案,实在是羞愧呀



转自:
http://zhizhuofl.blog.163.com/blog/static/69914779201041742331785/
作者:
Halcyon


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部
美女呀,离线,留言给我吧!
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 司令 亲民勋章
等级:管理员 帖子:3027 积分:27521 威望:0 精华:7 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/8/23 15:28:12 [显示全部帖子]

上文中提到的ASP部分禁止缓存的方法,貌似不行
要用下面的:

用ASP自动清空IE缓存里的内容

-

有时候缓存会给程序带来很大的麻烦,这段代码是用来清空IE缓存里的内容

1.禁止客户端缓存要在<head>中加入类似如下内):


<META HTTP-EQUIV="pragma" C>
<META HTTP-EQUIV="Cache-Control" C>
<META HTTP-EQUIV="expires" C>

2.在服务器的动态网页中禁止缓存,要加入类似如下脚本

(1)asp:


<%
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachec
%>


或者
<%
pStr = "private, no-cache, must-revalidate"
Response.ExpiresAbsolute = date()
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", pStr
%>

(2)jsp:


response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);


使用以上ASP部分的代码,可以禁止缓存,以此实现在HISTORY.GO(-2)返回前2页的时候数据不是旧的,而是重新加载了
[此贴子已经被作者于2010-8-23 15:29:00编辑过]


  
“艺镇”官方站:www.zyzsky.com QQ群:1221854  回到顶部