web-dev-qa-db-fra.com

iframe juste avant l'événement de déchargement

J'ai besoin de capturer un événement qui devrait être déclenché juste avant la disparition du contenu de l'iframe.

J'ai essayé d'accomplir quelque chose comme ça

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

OR

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

J'ai même essayé de le lier à la fenêtre iframe elle-même sans aucune chance

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

Aucun de ces gestionnaires d'événements ne se déclenche réellement pour moi

et je suis assez confus pourquoi. Pour recharger l'iframe que j'utilise .reload() de l'extérieur de l'iframe et de l'intérieur, peut-être ai-je besoin d'utiliser une méthode différente?

18
Max

Deviner! Je ne savais pas que le contentWindow perd sa référence après un rechargement.

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