在JavaScript中捕获popup窗口的closures事件
在popup窗口(使用window.open
)closures之前,我需要执行一些操作。
有些事情会很好:
var new_window = window.open('some url') new_window.onBeforeUnload = function(){ my code}
我怎样才能做到这一点?
只要popup窗口url与父页面位于同一个域中,您的示例就会工作,并将事件更改为全部小写:
var new_window = window.open('some url') new_window.onbeforeunload = function(){ my code}
事件名称是onbeforeunload
而不是onBeforeUnload
。 JS是区分大小写的。
您需要将onbeforeunload
事件绑定到打开后的窗口。
最简单的方法是在窗口源代码中使用JavaScript onbeforeunload代码。
有关详细的解释,请参阅这里和这里在Stackoverflow这两个非常类似的问题。
如上所述,打开后需要将onbeforeunload事件绑定到窗口。
请参阅其他线程中的示例: https : //stackoverflow.com/a/25989253/578275 。
var new_window = window.open('some_url')
你也可以检查new_window.window
是否为null
。 但是你需要用setTimeout
或者setInterval
函数手动检查它。
这是顺便说一句,当你不在同一个域名时,如何检查它。