[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  
required.
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 mailing list