原文链接:http://fenxianglu.cn/noteDeta...

要知道history.back返回上一页是不会触发刷新的,这是浏览器的机制,但我们可以做些兼容处理,代码如下:

进入页面后,先把referrer保存到sessionStorage里

window.addEventListener('DOMContentLoaded', function() {
  // 保存referrer
  if(location.href !== document.referrer) {
    sessionStorage.setItem('referrer', document.referrer);
  }
});

在操作后调用下面代码返回上一页

if(location.href !== document.referrer) {
  location.href = document.referrer;
} else {
  if(sessionStorage.getItem('referrer')) {
    location.href = sessionStorage.getItem('referrer');
  } else {
    history.back();
  }
}
注意:使用document.referrer时,不能设置meta头referrer为no-referrer,不然拿不到referrer数据

anchovy
1.9k 声望89 粉丝