example, change the target url of window.open to be in the same domain as the page. <html> <script> foo = window.open("http://..."); foo.x = 10; window.setTimeout('alert(foo.x)', 1000); </script> <body> </body> </html> Target window is loaded asynchronized, and returns a window object to 'foo', but when finished loading, the loader wipes out all properties of the window object. Both FF and IE7 keeps foo.x's value 10, but in Safari, it is undefined.
Same goes for events, it seems. Adding a listener will not work either using addEventListener() or popup_window.onload = function() {…} popup_window = window.open('popup.html', 'my_popup', 'width=500,height=400'); popup_window.addEventListener("load", function(e) { window.alert("loaded"); }, false);