没有窗口引用的HTML5 postMessage

时间:2013-06-28 03:19:33

标签: javascript html5 postmessage

HTML5 postMesssage API允许在开窗器和openee之间发送消息。但是,它需要参考/链接到接收器窗口。

是否有纯客户端JavaScript方式向所有窗口订阅者广播事件,在相同的doaminname下,由用户打开(例如Duplicate Tab)同一会话,没有服务器的帮助?

目前,我想出了一些想法

  • 服务器端频道(通过$ _SESSION)和投票
  • JS烹饪更新和投票(硬饼干游戏)
  • localstorage update and polling(甚至最差)
  • 的WebRTC? (浏览器支持不佳)

我错过了一个API吗?

BTW,不需要跨域。我正在考虑相同的域名,由用户多次打开。

1 个答案:

答案 0 :(得分:1)

为谁寻找解决方案。

我最终使用window.localStorage(甚至不是sessionStorage)并使用onstorage触发我的事件处理程序。

在某些浏览器上有一些关于会话隔离的问题(好吧,我的意思是IE),sessionStorage上的更改可能会也可能不会分派到另一个窗口。同时localStorage做得更好。