在iframe中捕获javascript:window.close()

时间:2013-02-27 00:29:05

标签: javascript iframe event-handling

我在 iframe 中运行第三方HTML内容,而我无法控制,在某些情况下,他们的链接调用 javascript:window.close()直接。像这样:

<input type="button" onclick="javascript:window.close()" value ="CLOSE">

我无法找到此元素的ID或数组位置。

当然,在iframe中会被忽略,但有没有办法在这个事件被触发时捕获?我试过了

window.addEventListener("close", closeHandler, false);
window.addEventListener("onbeforeunload", closeHandler, false);

但它完全忽略了它。有没有办法以某种方式捕获所有JavaScript事件/调用?欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

据我所知,您需要捕获帧内的事件。如果您无法修改框架内容,那么您可能会失败。如果您可以修改iframe内容,那么您可以在其上添加该事件侦听器并将其设置为调用父窗口的全局函数。或者您可以尝试使用postMessage。