views:

135

answers:

2

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.

+1  A: 

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.

Pointy
Cheers @Pointy, that matches my experience with the property. The connection is definitely a fragile one, but it doesn't matter in my case - I'm planning to build a "media manager" for a WYSIWYG editor that takes up the full screen space.
Pekka
+1  A: 

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.

Anil Namde
+1 for an in-window pop up. A website should stay within its bounds (the window the user asked to load it in) Just my personal opinion, though.
Jeremy
@Anil @Jer I usually agree with you and use in-window popups, but this is a special case where an external window (or tab) is absolutely necessary.
Pekka