首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨页面的Websocket JavaScript

跨页面的Websocket JavaScript
EN

Stack Overflow用户
提问于 2014-02-08 09:24:02
回答 3查看 571关注 0票数 3

我在JS中实现了一个基本的websockets客户端:

代码语言:javascript
运行
复制
function connectToNotifServer(){

var conn = new WebSocket('ws://localhost:8080');

conn.onopen = function(e) {
    alert("Connection established!");
    conn.send(JSON.stringify({user_id: sessionStorage.getItem("user_id")}));
};

conn.onmessage = function(e) {
    alert(e.data);
};

conn.onclose = function(e) {
    alert("Connection closed!");
};
return conn;
}

但是我想使用网页上的websocket连接。但是,如果我只是在加载时调用这个方法,那么我担心每次重新加载页面时都会建立一个新的连接,这是否一个问题?是否存在连接一次,并在不同的页面和页面重新加载时使用连接?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-10 10:59:58

您可以通过从共享背景Web工作者打开WebSocket连接来做到这一点。

当至少一个选项卡仍然活动到给定的源(共享的WebSocket工作人员)时,连接将保持打开状态。

我知道Chrome和IE11支持从专门的网络工作者打开WebSocket连接。Firefox目前没有。我不知道哪些浏览器支持来自共享Web的WebSocket连接(这就是您需要的)。

票数 1
EN

Stack Overflow用户

发布于 2014-02-08 09:28:24

这不会有什么问题。因为每次页面重新加载时,页面都会断开连接并建立一个新的连接。

而你的另一个问题的答案是“不管怎么说,连接一次并在不同的页面和页面重新加载中使用连接”是否定的。在页面重新加载后,不能通过该页面使用相同的连接。

票数 0
EN

Stack Overflow用户

发布于 2014-02-08 10:03:10

如果用户更改页面,则无法保持打开连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21644266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档