在卸载事件之前的iframe

时间:2015-06-08 20:41:19

标签: javascript jquery html iframe

我需要捕获一个应该在iframe内容消失之前触发的事件。

我一直在努力完成这样的事情

$iframe = $('iframe');
$iframe.beforeunload(function () {
  debugger;
});

OR

$iframe = $('iframe');
$iframe.unload(function () {
  debugger;
});

我甚至尝试将它绑定到iframe窗口本身没有任何运气

$iframe = $('iframe');
$iframe[0].contentWindow.onunload = function () {
  debugger;
};

这些事件处理程序实际上都没有触发我

我很困惑为什么。要重新加载iframe,我在iframe外部使用.reload(),从内部,我可能需要使用不同的方法吗?

1 个答案:

答案 0 :(得分:29)

想出来!重新加载后,我不知道contentWindow丢失了它的引用。

$iframe.load(function () {
  $iframe[0].contentWindow.onbeforeunload = function () {
    debugger;
  };
});