HTML5 postMessage没有窗口引用

HTML5 postMessage without window reference

本文关键字:窗口 引用 postMessage HTML5      更新时间:2023-09-26

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

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

目前,我提出了一些想法

  • 服务器端通道(通过$_SESSION)和轮询
  • JS Cooking更新和轮询(硬饼干播放)
  • 本地存储更新和轮询(甚至是最糟糕的)
  • WebRTC?(浏览器支持较差)

有没有遗漏API?

顺便说一句,不需要跨域。我想的是同一个域,多个由用户打开。

为谁寻找变通解决方案。

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

某些浏览器(嗯,我指的是IE)上的会话隔离存在一些问题,sessionStorage上的更改可能会也可能不会发送到另一个窗口。同时localStorage做得更好。