关于错误消息的跳转

下午在做项目的后期测试, 发现错误消息那里会出现一些问题.

为了能保存用户出错之前输入的数据,错误页使用了javascrtp中的history.go(-1)返回出错的页面. 但今天发现在ie下返回页面显示页面已过期,火狐3.0下要求重新发送请求.

在网上找了一下,用

1
session_cache_limiter('private');

可以解决, 但是究竟为什么还没有看明白, 这个函数没有中文版的讲解.

大概这么用:

1
2
3
session_cache_limiter('nocache');  // 清空表单
session_cache_limiter('private');   //不清空表单,只在session生效期间
session_cache_limiter('public');   //不清空表单,如同没使用session一般

不过这样做有一点不妥, 就是原页刷新表单也不会被清空, 验证码在ie下会被缓存.

还有就是错误跳转那里

1
2
3
<script>
window.onload = setTimeout('history.go(-1)',3000);
</script>

这样写ie下会有一个错误, 没深究, 因为opera不支持onload方法,所以一般用下面这样.

1
2
3
4
<script>
jumpto = function(){setTimeout('history.go(-1)',3000);};
window.onload = jumpto;
</script>

还好没有什么错误, 只是不标准而已.