web-dev-qa-db-ja.com

イベントをアンロードする直前の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()を使用しますが、別の方法を使用する必要があるかもしれません。

18
Max

理解した!リロード後にcontentWindowが参照を失うことを知りませんでした。

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