Comment j'élèverais un événement (jQuery ou vanilla Javascript) quand une fenêtre popup est fermée?

Je veux soulever un événement lorsqu'une fenêtre est fermée, ou, de préférence, juste avant la fermeture. Je suis le stockage de la fenêtre de l'objet comme un objet, mais je ne sais pas de toute façon de se lier à la clôture de l'événement, ou d'un événement juste avant que la fenêtre est fermée.

var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");

Est-il possible de s'abonner à la clôture de l'événement à l'aide de jQuery, ou tout simplement cru javascript? Je suis à l'aide de jQuery et ne pouvez pas ajouter une autre bibliothèque, donc si il ne peut pas être fait en jQuery je vais devoir rouler mon propre événement système en quelque sorte, pour qu'elle fonctionne sur tous les navigateurs.

Mise à JOUR:
J'ai essayé d'utiliser l'événement unload en jQuery et pour une raison que l'événement est déclenché dès que mon menu contextuel s'ouvre au lieu de quand il est fermé. Si j'utilise Firebug pour définir un point d'arrêt pour retarder l'événement unload d'être abonné, l'événement unload fonctionne de la façon dont il est censé le faire, mais pour quelque raison que ce soit, il ne fonctionne pas correctement lorsque le javascript est autorisé à exécuter naturellement.

var popupWindow = window.open("/popup.aspx", "popupWindow", "height=550,width=780");
$(popupWindow.window).unload(function() { alert('hello'); });

N'quelqu'un a une idée du pourquoi de l'événement unload pourraient être soulevées lorsque la fenêtre est en cours de chargement?

Un autre hic, c'est que j'ai remarqué que jQuery "décharger" l'événement n'a pas souscrit à la fenêtre comme il le fait normalement si je ne l':

popupWindow.onunload = function(){alert('hello')};

Il semble pour vous désabonner de l'événement à chaque fois qu'il est déclenché. Est-ce censé arriver? Si il n'y avait pas ce bug (ou fonctionnalité?) en jQuery, il serait bien d'avoir l'événement soulevées sur la charge depuis que je puisse vérifier la popupWindow.closed de la propriété à l'intérieur de l'événement pour assurer la fenêtre était vraiment fermé.

source d'informationauteur Dan Herbert