window.opener.location.история ссылок не работает в firefox

#javascript #firefox #browser-history #back

#javascript #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
});
 

Ответ №1:

window.onbeforeunload = function(){window.location.reload();} никогда не будет работать. Это атака типа «отказ в обслуживании»

ПРЕДПОЛАГАЯ, что страницы одного происхождения, вы можете попробовать это

  1. в родительском:

window.name="parentWindow"

  1. В дочернем

<a href="page.html" target="parentWindow">Open page in parent</a>

Комментарии:

1. Я пробовал это, но это не работает, имейте в виду, я использую iframe, поэтому URL-адрес в браузере остается прежним, изменяется только URL-адрес iframe

2. Где вы используете iframe? Страница в iFrame имеет начало или родительский элемент, а не открыватель, если ссылка находится в iFrame, тогда именованное targetwindow все равно должно работать