代码之家  ›  专栏  ›  技术社区  ›  Mr. Flibble

跨页面加载跟踪子窗口

  •  2
  • Mr. Flibble  · 技术社区  · 14 年前

    我现在打开窗户的样子是这样的:

      var childWindow;
      childWindow= window.open('url...');
    

    当我想重新打开同样的子窗口时

     childWindow.focus();
    

    明显的问题是,如果父窗口被刷新,那么它将丢失对父窗口的跟踪 childWindow 不能集中注意力。有没有办法把我的参考资料拿回来?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Golmote Kinoko    14 年前

    也许你可以用 name 中使用的参数(第二个)打开新窗口()在父窗口重新加载时“重新加载”弹出窗口?

        2
  •  0
  •   vgoff    12 年前

    如上所述。我没有找到从父窗口对象到子窗口的方法。可能一点也不像窗口.childWindows数组或方法已存在。在重新加载父页面之后,您甚至丢失了使用javascript之类的工具创建的所有绑定 childWindow = window.open(url,'myChildWindow',opt)

    我为FF3.x找到的唯一可能的方法是万一你知道你要找的子窗口的名称。在这种情况下,再次打开同名窗口,如果它仍然打开,您应该会得到丢失的链接。在其他情况下,新窗口是打开的。 lostWindow = window.open('','myChildWindow','');

    现在你必须测试它是你的旧窗口还是新窗口。例如,通过在子窗口中注册的某个属性。

    如果 (lostWindow.myProperty == 'yes')

    当我在互联网上浏览时,我发现有些人试图用cookies或HTML5来创建解决方案 applicationCache