2013-05-09 121 views
1

我有一个包含Javascript视图模型的应用程序来控制它。父窗口对子窗口的引用子窗体提交时提交

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

当窗口“卸载”和表单提交时,父窗口对这个新窗口的引用如何持久或恢复?

回答

0

您不能保留该参考。但是,如果您尝试访问某种类型的值,可以查看cookieslocal storage

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

更新

跨窗口JavaScript是一种混乱的问题。如果适用,我建议采取第一种方法。

0

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

当试图重新获得它的访问权限 - 只需做一个window.open没有网址 - 也许javascript:void(0)作为地址(所以窗口不会离开),它应该是相同的窗口,只要你使用相同的ID 。

这很漂亮但是