我需要一个设计与我的C ++ - Webserver通信的复杂html / javascript(jQuery)系统的想法。
到目前为止,我有一个主索引,我按事件加载子模块:
$(".MainButton").click(function(){
$("#swap").load($(this).attr('alt'));
});
问题是现在每个子模块都需要Websocket连接,我不想为我正在加载的每个子模块打开一个新的连接。
是否可以打开全局Websocket连接..
var ws = new WebSocket("ws://localhost:800/stream");
..并在每个子页面中使用ws?
非常感谢。
答案 0 :(得分:0)
您的问题标题和内容有所不同。至于内容,如果你通过jQuery的加载方法加载HTML片段(而不是页面),这些片段将合并到文档中,结果只存在该文档。如果是您的情况,为什么不通过使ws
成为window
的全局变量并在子模块中使用它来在main.html上打开该连接?只要子模块的URI与CORS具有相同的原点或交叉原点,它就可以访问和操作main.html的ws
。
但是,如果您坚持连接应该在多个页面上进行,包括刷新main.html作为问题的标题字面意思,除非您使用{{3},否则现在不可能}。有关详细信息,请参阅以下内容: