Инициирующее событие при закрытии Window.open - PullRequest
0 голосов
/ 20 марта 2019

Привет! Мне нужно загрузить URL-адрес в window.open, чтобы он сохранял cookie в моем браузере. Я хочу получить к нему доступ после закрытия этого window.open. Я не мог найти способ сделать это. Я пробовал эти коды.

 var windowStatus = window.open(returnURL, "Login", "type=fullWindow,toolbar=yes,scrollbars=yes,resizable=yes,fullscreen");
 windowStatus.addEventListener("beforeunload", (event) =>{
      let cookieVaal = this.cookieService.get('QSTID');
      sessionStorage.setItem('QSTID', cookieVaal);
    })

Это тоже не работает, пожалуйста, предложите мне что-нибудь. Заранее спасибо ..

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

OP может столкнуться с ограничением "Same Origin" в настройке cookie и доступе к нему. Вот некоторый JavaScript, который я запустил на своем персональном веб-сервере:

    var url = "http://localhost/exp/alpha.php";
    var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";
    var new_window = window.open(url,'Alpha',strWindowFeatures);
    new_window.document.cookie = "name=rose";

    // okay:
    //new_window.onbeforeunload = function(){ alert(document.cookie)};

    // better; brings up dialog box to confirm leaving page
    new_window.addEventListener('beforeunload', (e) => {
      alert(document.cookie);

     // Cancel the event
  e.preventDefault();
    // Chrome requires returnValue to be set
 e.returnValue = true;
    });

Сценарий выполняется только до тех пор, пока указанный URL-адрес находится на том же веб-сервере, что и исполняемый код JavaScript.

Подробнее о до загрузки .

0 голосов
/ 20 марта 2019
var new_window = window.open('url')
new_window.onbeforeunload = function(){ my code }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...