利用history.pushstate()和window.onpopstate模拟浏览器访问历史

当一个遮罩层覆盖了整个页面时
用户可能会认为这是一个新的页面
所以用户有可能会直接点击返回键
要实现点击返回键关闭遮罩
就可以用以下的方式来实现了

1、利用history.pushstate(状态对象,标题,同源链接);
向浏览器新增一条历史记录
2、当用户点击了浏览器的返回按钮
或者
点击了手机上的 返回键时
通过window.onpopstate 事件句柄 自定义一个函数
就能模拟浏览器的返回动作

注: 手动关闭遮罩时 记得把刚才新增的历史记录删除掉哦
删除上一次的访问历史:history.back(); 或者 history.go(-1);

history.pushState({bar:'lalala'},'这是标题',location.href);

window.onpopstate = function(event){
//do something...
window.onpopstate = null;
$('#J-fixed-box').hide();
}

参考链接:操纵浏览器的历史记录

发表评论

电子邮件地址不会被公开。 必填项已用*标注