javascript:history.go(-1)返回上一页时,网页已过期
2014-06-24 16:08
323 查看
解决办法:首先试试back()或go(-2),若依然不行,则取消禁用页面缓存的限制 session_cache_limiter('private,must-revalidate'); 作用:当session_cache_limiter('private')时,用处是让表单history.go(-1)的时候,填写内容不丢失。 go(-2)后再forward(1). 为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了
答:这是由于你在你的表单提交页面中使用了 session_start 函数。
因为我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存。所以出现了’警告: 网页已经过期!’.
这些信息,而我们不得不刷新下才能正确显示,对于一个程序人员来说有可能无所谓,但是对于一个internet网上的一个顾客来说,看到该页面,他有可能关闭该页面,而不会去查看这些信息!
还有一个原因就是当一个网站流量比较大的时候,缓存是我们程序人员最好的工具,如果失去了这把工具,那么你所在的虚拟服务器必将受到考验!
解决办法为,
1、不使用session_start()函数。
2、在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出。
还有基于session的解决方法,在session_start前加上
session_cache_limiter('nocache');// 清空表单
session_cache_limiter('private'); //不清空表单,只在session生效期间
session_cache_limiter('public'); //不清空表单,如同没使用session一般
在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。
第一,使用Header方法设置消息头Cache-control
引用:
header(’Cache-control: private, must-revalidate’); //支持页面回跳
第二,使用session_cache_limiter方法
session_cache_limiter('private, must-revalidate'); //注意要写在session_start方法之前
<meta http-equiv="Cache-Control" CONTENT="private,must-revalidate">
相关文章推荐
- javascript:history.go(-1)返回上一页时,网页已过期
- javascript:history.go(-1)返回上一页时,网页已过期
- 开发日程:js使用history.go(-1)返回上一页出现网页过期
- javascript的history.back()进行返回时,有时会提示“网页已过期”,
- js实现点击浏览器history.go()返回上一页 刷新“上一页”
- 手机上万能返回上一页(wap2.0)代替history.go(-1)
- IE6在<a>标签中使用history.go(-1)返回上一页无效
- javascript history.go(-1) 返回刷新
- 【转】 JavaScript:history.go() 的妙用(转) 处理post回发后返回
- 【JavaScript】history.back() 网页已过期
- 用history.go(-1)返回上一页,实现上一页页面刷新
- jq,返回上一页,小记history.back(-1)和history.go(-1)区别
- js返回上一页报网页过期问题解决
- &lt;a href=&quot;javascript:history.back();&quot;&gt;返回上一页&lt;/a&gt;
- window.history.go(-1)返回上页的同时刷新"上页"技术
- JavaScript:history.go() 的妙用
- 返回上一页和转向的javascript代码
- javascript:history.go()和History.back()的区别
- window.history.go(-1)返回上页的同时刷新"上页"技术
- javascript:history.go()和History.back()的区别