- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 14 Sep 2009 22:06:49 +0000 (UTC)
On Mon, 14 Sep 2009, Sidney San Mart?n wrote: > > 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. 4. Open a SharedWorker and send a MessagePort to the other window. > 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? How do you know there's a Window to get a hold of if you don't have a hold of it already? The main reason for Window.postMessage() is communication with iframes (gadgets), not with other top-level browsing contexts. What's the use case for the latter? -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 14 September 2009 15:06:49 UTC