【问题标题】:PubSub javascript library between browser windows浏览器窗口之间的 PubSub javascript 库
【发布时间】:2013-01-05 18:37:33
【问题描述】:

您知道现有的任何 PubSub 库是否提供了在窗口之间进行通信的可能性?作为可以使用的示例:

  • 弹出窗口(使用 window.open 打开)与开启器之间的通信
  • iframe 和容器页面之间的通信
  • 谷歌浏览器扩展的扩展页面之间的通信。

【问题讨论】:

  • 假设域相同,iframe 和主文档之间会很简单。窗口之间尚不可用
  • 您对 iframe 和主文档说“足够简单”。你知道这样的图书馆吗?我们的想法是不实现另一个库。
  • 从主文档很容易访问 iframe 的元素(仅限同一域),因此实现 pub/sub 就像没有 iframe 一样。举例说明您希望发布/订阅做什么。甚至可以使用 jQUery 自定义事件创建一个非常简单的发布/订阅

标签: javascript dom-events publish-subscribe observer-pattern


【解决方案1】:

我不熟悉浏览器窗口之间的通信方式,但是如果涉及到服务器,则可以在每个页面和服务器之间创建一个 Web 套接字,并且服务器可以在它们之间代理方法。 socket.io (node) 或 SignalR (asp.net) 等库可以抽象出大部分管道。

【讨论】:

【解决方案2】:

有几个用于发布/订阅类型交互的库。

以下是我最近研究的一些候选者:

我不确定它们如何匹配您的示例,但它们都处理 iFrame 问题。 easyXDM 主要对跨域调用感兴趣,因此可能适用于所有场景。

希望对您有所帮助。

【讨论】:

    【解决方案3】:

    对于 Chrome 扩展中的 pubsub 功能,我编写了 chromeps 库: https://github.com/anderspitman/chromeps

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 2013-10-21
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 2016-02-16
      相关资源
      最近更新 更多