返回上一页触发刷新

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

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

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

window.addEventListener('DOMContentLoaded', function() {
  // 保存referrer
  if(location.href.replace !== 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数据
原文链接:segmentfault.com

上一篇:小菜鸟变大笨鸟-进制转换
下一篇:【JS基础系列】彻底搞懂执行上下文和调用栈(下)

相关推荐

官方社区

扫码加入 JavaScript 社区