将Websocket-Connection保存在多个页面上

时间:2015-03-30 15:31:23

标签: javascript jquery html websocket

我需要一个设计与我的C ++ - Webserver通信的复杂html / javascript(jQuery)系统的想法。

到目前为止,我有一个主索引,我按事件加载子模块:

$(".MainButton").click(function(){
   $("#swap").load($(this).attr('alt'));
});

问题是现在每个子模块都需要Websocket连接,我不想为我正在加载的每个子模块打开一个新的连接。

是否可以打开全局Websocket连接..

var ws = new WebSocket("ws://localhost:800/stream");

..并在每个子页面中使用ws?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您的问题标题和内容有所不同。至于内容,如果你通过jQuery的加载方法加载HTML片段(而不是页面),这些片段将合并到文档中,结果只存在该文档。如果是您的情况,为什么不通过使ws成为window的全局变量并在子模块中使用它来在main.html上打开该连接?只要子模块的URI与CORS具有相同的原点或交叉原点,它就可以访问和操作main.html的ws

但是,如果您坚持连接应该在多个页面上进行,包括刷新main.html作为问题的标题字面意思,除非您使用{{3},否则现在不可能}。有关详细信息,请参阅以下内容: