将WebSockets用于跨多个网页的实时提要

Using WebSockets for live feeds across multiple web pages?

本文关键字:实时 网页 WebSockets 用于      更新时间:2023-09-26

大多数WebSocket示例都以单个网页为中心,其中的内容通过聊天、财务或其他实时指标进行更新,这对单个网页来说是有意义的。

然而,如果有一个新闻提要滚动条,该提要需要存在于网站的每一页上,我想打开对话,探讨一下这方面的一些可能性。

目前,该网站是一个经典的ASP网站,但最终将迁移到MVC/MVP。

由于我们不想每次点击链接(当前加载新页面)时都打开/关闭web套接字,所以我考虑了一种IFrame类型的UI,它可以使用可更新的DIV和jQuery来完成。

给定一个简单的容器化UI模板,它有一个页眉(c1)和页脚(c2),内容在中心(c3),有左(c4)和右(c5)栏,当点击页眉上的链接时,主菜单将驻留在那里,而不是更新整个页面,我可以将一个页面加载到其中一个容器中(可更新的div),保留WebSocket容器的连接-避免需要重新建立连接。

要实现这一目标,还需要考虑哪些其他选择?

谢谢。

更新

如果你看看FB的实现,他们右边的状态栏,甚至聊天,点击链接就可以留在页面上。这是如何实现的?

使用IFrame或以其他方式修改页面状态(而不是完整页面加载)可能是目前最好的方向,但共享Workers也可以随心所欲。这个想法是允许从同一来源同时加载的多个页面共享一个网络工作者。我怀疑共享工作者即使在同一网站内进行页面导航也会持续存在。然而,我并没有真正尝试过,W3C规范对我来说也不清楚这个问题。我很想知道这是否真的是真的。

请注意,共享工作者在Chrome、Safari和Opera中,但IE和Firefox尚未承诺支持共享工作者:

  • http://dev.w3.org/html5/workers/#shared-工人介绍
  • http://caniuse.com/#feat=sharedworkers