Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is window.opener reliable?

Is JavaScript's window.opener property reliably available across browsers, and immune against any security settings and limitations of any sort? Both the opener and the opened window would be on the same domain.

Has anybody run into troubles, bad experiences using it under certain circumstances?

I'm asking because I'm planning to build a tool that relies heavily on it and should support as many platforms as possible.

like image 508
Pekka Avatar asked Mar 05 '10 13:03

Pekka


3 Answers

I've been a developer on two sites now that make extensive use of window.opener, and I don't know of any time when it failed me. These apps were tested on IE[678], Firefox, and Webkit; I've informally used Opera and not noticed a problem there either.

Now, the "opener" relationship is inherently fragile anyway, because there's not much you can do to prevent your users from visiting "cnn.com" in the main browser window that was used to open your separate popup window. Once the original window has loaded new content, the "child" window's "window.opener" reference won't do you any good anyway. Similarly, when the user goes and opens up a new main-browser window and navigates to your site, your "orphan" windows won't really be able to find it.

Of course I cannot offer you a 100% guarantee that everything will be OK :-) My story is true however. Perhaps my reliance on "window.opener" has not been as serious or deep as what you're planning; I can't really say that everything in my applications depended on that working.

like image 188
Pointy Avatar answered Sep 18 '22 20:09

Pointy


It's worth noting that window.opener doesn't work if the file isn't loaded through an HTTP connection in Chrome (though it works fine in Safari).

like image 31
Heilemann Avatar answered Sep 17 '22 20:09

Heilemann


I have used window.opener in my application and found that its nice to work with. The only limitation it has is if pop up blocker is activated by the user then new window is not opened causing issues some times.

Good replacement for this (if pop up blocker is issue ) is to use yui panel also JQuery UI is a good option.

Other than this i have not come across any issues as such and it worked nicely across browsers.

like image 20
Anil Namde Avatar answered Sep 18 '22 20:09

Anil Namde