代码之家  ›  专栏  ›  技术社区  ›  DeadlyChambers

窗open在卸载前点火

  •  0
  • DeadlyChambers  · 技术社区  · 8 年前

    window.open("aPageInMyApp","MsgWindow")

    @HostListener('window:beforeunload') logout(){//some code}

    1 回复  |  直到 8 年前
        1
  •  0
  •   DeadlyChambers    8 年前

    原因是如果你打电话

    window.open("aPageInMyApp","MsgWindow")
    

    从你打开的窗户里面,窗户。名称将相同。这将导致浏览器尝试刷新该选项卡。然后将在卸载之前触发。为了防止出现这种情况,不要使用“MsgWindow”,而是使用一些不会重复的动态工具,以确保窗口的名称永远不会相同。使用如下解决方案 A typescript Guid class?

    window.open("aPageInMyApp", Guid.newGuid())
    

    这将确保您永远不会试图在同一窗口中打开同一窗口。