关闭Window.open时触发事件

时间:2019-03-20 07:27:02

标签: javascript jquery angular

嗨,我必须在window.open中加载一个URL,该URL在我的浏览器中保存了一些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 :(得分:0)

var new_window = window.open('url')
new_window.onbeforeunload = function(){ my code }

答案 1 :(得分:0)

OP可能在设置cookie和访问cookie时遇到"Same Origin"限制。这是我在个人Web服务器上运行的一些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代码位于同一Web服务器上时运行。

有关beforeunload的更多信息。