浏览器后退和刷新处理
在web开发中经常会使用到一些javascript效果,但是当一个界面同样效果出现多个的时候,在用户点击IE上的后退或者刷新按钮时,会出现多个效果内容因为缓存原因导致显示的是一样的内容,之前我也遇到过这样的问题,也尝试过使用javascript来监听快捷键或者按键事件的方式来处理,但是后来发现有漏洞,当用户点击IE上的按钮时,这些事件是不起作用的,也就是还说缓存还是存在,问题还是保留着。在经过考虑之后我决定采用cookie的方式来处理避免这样的问题,具体步骤如下:
首先设置cookie,默认在界面加载的时候设置一个值,然后设置好时效时间:
var myDate = new Date();
myDate.setTime(myDate.getTime() + 2000*1);//时效 2s
document.cookie='cookie='+myDate.toLocaleString( )+';expires='+myDate.toGMTString();//设置cookie和时效
然后再界面加载时候每次都去判断下cookie:
var t_cookie=document.cookie.split(';')[0].split('=')[1];//获取cookie
if(t_cookie==undefined)//判断cookie是否失效
{
? ? //失效的处理
? ?window.location.href='index.htm';//我偷懒了。。。
}
通过这样就可以避免了,不管是刷新还是退回,都不会因为缓存导致出现内容混乱了。
注:就在IE下弄过,其他浏览器如果有朋友弄过可以一起交流下