我有一个包含控制它的Javascript视图模型的应用程序。
应用程序使用(window.open())启动一个新窗口,并将“click”事件侦听器分配给新窗口中的按钮。新窗口包含一个表单,该表单在提交时会在其窗口中导致“卸载”事件,从而断开对父窗口的访问。
当窗口“卸载”并且表单提交时,父母对这个新窗口的引用如何保持或恢复?
答案 0 :(得分:0)
你不能保留这个参考。但是,如果您尝试访问某种值,可以查看cookies或local storage。
您还可以尝试通过将事件侦听器附加到“unload”事件来恢复引用。当事件发生时,关闭当前的“父”窗口,并使“提交”脚本指向父窗口。打开后,您可以从那里重新打开子窗口。
<强>更新强>
跨窗口javascript是一个混乱的主题。如果适用,我建议采用第一种方法。
答案 1 :(得分:0)
据我所知,并非所有浏览器都允许按名称重新获得对窗口的访问权限,即使您提供它也是如此。但我仍然尝试使用window.open
的不同窗口名称。
当试图重新获得访问权限时 - 只需要一个不带网址的window.open - 也许javascript:void(0)
作为地址(因此窗口不会离开),只要你使用它就应该是同一个窗口相同的身份。
虽然
但它非常hacky