I m looking for close event for popup. I ve found one for XUL, but I need it for HTML.
Popup has closed
property.
>>> var popup = open( http://example.com/ , popup , height=400,width=500 );
>>> popup.closed
false
Well, I can check it once at half second.
function open_popup() {
var popup = open( http://example.com/ , popup , height=450,width=450 );
var timer = setInterval(function(){
if (popup.closed) {
alert( popup closed! );
clearInterval(timer);
}
}, 500);
}
I ve tested it on Chrome 4.0.249.27, Opera 10.10, Safari 4.0.4, and Firefox 3.5.5. All works fine.
But setInterval bother me. It is ugly. Is there a better way of doing this?
UPDATE: I use popups for authentication dialog (oAuth, actually). I wanna send some data to parent window after popup close (through postMessage).
Page inside popup from another domain. So, I can not add any event (unload
) to it due security restrictions.
I can not use iframe due to iframe buster script. So, I can not use any fancy jQuery modal dialogs.
I can not edit anything inside popup.