[whatwg] Inter-window communication beyond window.postMessage()
Sidney San Martín
s at sidneysm.com
Mon Sep 14 07:36:34 PDT 2009
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:
1. window.open with a window name argument, which is a hack because
the target window has to reload.
2. Comet, which is a horrible hack because a trip to the server is
3. LocalStorage and storage events, which wasn't designed for anything
remotely like this.
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
'example.com'", or, "...to any window who'll give me one". Each window
would obviously have to opt into this.
What do you all think?
More information about the whatwg