1

我有一个包含控制它的 Javascript 视图模型的应用程序。

应用程序使用 (window.open()) 启动一个新窗口,并将“单击”事件侦听器分配给新窗口中的按钮。新窗口包含一个表单,该表单在提交时会在其窗口上引发“卸载”事件,从而中断从父窗口对其的访问。

当窗口“卸载”并提交表单时,父级对该新窗口的引用如何保持或恢复?

4

2 回答 2

0

您不能保留该参考。但是,如果您尝试访问某种值,您可能会查看cookie本地存储

您还可以尝试通过将事件侦听器附加到“卸载”事件来恢复引用。当事件发生时关闭当前的“父”窗口,并使“提交”脚本指向父窗口。打开后,您可以从那里重新打开子窗口。

更新

跨窗口javascript是一个混乱的主题。如果适用,我建议采用第一种方法。

于 2013-05-09T17:52:17.837 回答
0

据我所知,并非所有浏览器都允许通过名称重新访问窗口,即使您提供了它。但我仍然会尝试使用不同的窗口名称window.open

当试图重新获得对它的访问权时 - 只需执行一个不带 url 的 window.open - 可能javascript:void(0)作为地址(因此窗口不会离开),只要您使用相同的 ID,它就应该是同一个窗口。

虽然它很hacky

于 2013-05-09T18:12:50.057 回答