有很多网站在使用history.go(-1)返回后都可以读出原来文本框中的值,
可是我怎么写返回后文本框中都是空的,似乎把浏览器缓存读不出来!
我写过的代码
<a href="javascript:history.go(-1);">返回</a>
<a href="javascript:history.go(-1); return false;">返回</a>
<a href="" onclick="history.go(-1);return false;">[返回]</a>
<a href="" onclick="history.back(-1);return false;">[返回]</a>
<a href="" onclick="window.history.go(-1);return false;">[返回]</a>
该写的写法都写了,可是还是只能返回 ,不能读出缓存
浏览器也应该没什么问题,因为别人的代码可以正常读出缓存.
经过一段一段代码的排除,终于可以读出缓存了
出现这个问题和是因为session
我的登录页面(php+mysql)
在最开始的时候加了一个session_start();
造成了这个问题!
简单代码:
session_start();
$act = $_REQUEST['act'];
if ($act == in){
//数据库连接函数及登录验证模块
}else{
//{form代码}
}
-------------
session_start();值写入if循环中就好了!
我分析的原因:当session_start()在文件最前面时,从一开始就和服务器建立了联系(session已经发出)
所以以后即使在文本框中输入,也不能加入本地缓存,所以history.go(-1),history.back()等等都是在session发出前的那个文本框为空的界面.
不知道这样理解是否正确?