Agreed - I've always felt like having to have a reference to a window would be an obstacle.<div><br></div><div>I feel obliged to point out that cross-domain SharedWorkers might be another option for two completely unrelated windows to interact, although the suggestions I've heard for APIs for x-domain access seem to center around CORS, which may or may not be sufficient for this type of case.<div>
<br></div><div>-atw<br><br><div class="gmail_quote">On Mon, Sep 14, 2009 at 7:36 AM, Sidney San Martín <span dir="ltr"><<a href="mailto:s@sidneysm.com" target="_blank">s@sidneysm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The cross-document messaging API solves a lot of problems and is overall an Awesome Thing, but requiring a reference to the target window is hugely limiting. When a a window wants to talk to another window and didn't create it, there are basically three options:<br>
<br>
1. window.open with a window name argument, which is a hack because the target window has to reload.<br>
2. Comet, which is a horrible hack because a trip to the server is required.<br>
3. LocalStorage and storage events, which wasn't designed for anything remotely like this.<br>
<br>
Unless there's a reason to prevent free communication between windows, there must be a better solution. I can think of a couple of possibilities. The most obvious one would be an API similar to postMessage that allows broadcasting of messages to all windows, windows by name, and windows by domain. Another one (which I haven't developed very far) would be to stick with window.postMessage but provide an API to ask for windows. So, I could say, "Can I please have a reference to the window named 'x'", or, "...to windows at '<a href="http://example.com" target="_blank">example.com</a>'", or, "...to any window who'll give me one". Each window would obviously have to opt into this.<br>
<br>
What do you all think?<br>
</blockquote></div><br></div></div>