window.opener.location.href 历史记录不适用于 Firefox

问题描述

我正在使用 window.open 打开一个窗口,在该窗口中有某些链接,点击链接后会将原始页面重定向到点击的链接关闭新窗口。

$('a').on('click',function(e){
  e.preventDefault();
  var get_href=$(this).attr('href');

  window.opener.location.href=get_href;
  window.close();
});

现在,当我点击 chrome 中的后退按钮时,重定向会将我们带到预订页面,它将它带回帐户页面,但是当我在 Firefox 上尝试时,它会将页面重定向登录页面,而不是它应该重定向到帐户页面。如果我们可以重新加载该页面也可以。

我试过了

window.onbeforeunload = function(){window.location.reload();}

这在PHP标头中

// any valid date in the past
header("Expires: Mon,26 Jul 1997 05:00:00 GMT");
// always modified right Now
header("Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT");
// HTTP/1.1 
header("Cache-Control: private,no-store,max-age=0,no-cache,must-revalidate,post-          check=0,pre-check=0");
// HTTP/1.0
header("Pragma: no-cache");

但是下面的代码都没有工作,它正在抛出警报但没有重新加载

window.addEventListener("beforeunload",function (e) {
  var confirmationMessage = "\o/";

  (e || window.event).returnValue = confirmationMessage; //Gecko + IE
  return confirmationMessage;                            //Webkit,Safari,Chrome
});

解决方法

TreeView 永远不会工作。那是拒绝服务攻击

假设页面来自同一个来源,你可以试试这个

  1. 在父级中:

window.onbeforeunload = function(){window.location.reload();}

  1. 在孩子

window.name="parentWindow"