大多数WebSocket示例都围绕着一个网页,其中内容通过聊天,财务或其他实时指标进行更新 - 对单个页面有意义。
但是,如果有一个新闻Feed滚动条,该网站的每个页面都需要存在该Feed,我想打开一些可能的对话。
目前该网站是一个经典的ASP网站,但最终将迁移到MVC / MVP。
由于我们不希望每次点击链接时打开/关闭Web套接字(当前加载新页面),我都在考虑使用IFrame类型的UI,可以使用可更新的DIV和#39; s和jQuery。
给定一个带有标题(c1)和页脚(c2)的simple容器化UI模板,当点击链接时,中心(c3)中的内容(左(c4)和右(c5)条)主页面所在的标题,而不是更新整个页面,我可以将页面加载到其中一个容器(可更新的div)中,保留WebSocket容器的连接 - 避免需要重新建立连接
要完成此任务还需要考虑哪些其他选项?
感谢。
更新
如果你看一下FB的实现,他们的状态栏在右边甚至聊天,在链接点击的页面上留下来。这是如何完成的?
答案 0 :(得分:0)
使用IFrame或以其他方式修改页面状态(而不是整页加载)可能是目前最好的方向,但共享工作者也可以做你想做的事情。这个想法是允许同一个来源同时加载的多个页面共享一个Web工作者。我怀疑共享工作者甚至会在同一站点内保持页面导航。但是,我还没有真正尝试过,W3C规范在这个问题上并不清楚。我很想知道这是否属实。
请注意,共享工作者在Chrome,Safari和Opera中,但IE和Firefox尚未承诺支持共享工作人员: