项目测试中遇到一个问题,当用户返回到某个页面的时候,加载的内容和实际内容不符,因为该页面为ajax调用接口数据,再检查了脚本后,没法发现一个比较好的解决办法。于是,想到不如直接用脚本设置返回上一页,并刷新。这样做,应该能够解决问题。
但是测试了js版本的 history.back(). window.history.go(-1) 和jquery 版本的,都不理想.
于是测试了
$(document).ready(function(e){
var counter =0;
if(window.history && window.history.pushState) { //history.pushState 无刷新的向浏览器 历史最前方 加入一条记录
$(window).on('popstate',function(){ //popstats 表示用户点击回退时触发的事件
window.history.pushState('forward',null,'#');
window.history.forward(1); //阻止返回。
//alert("不可回退");
location.replace(document.referrer);//刷新
});
}
window.history.pushState('forward',null,'#');
//在IE中必须得有这两行
window.history.forward(1);
});
思路分析:如果当前页面之前存在浏览记录,则当点击后退的时候,阻止后退并通过location.replace 跳转至之前页。
转载自:https://blog.csdn.net/wu_ning/article/details/78327703
网友评论