gpt4 book ai didi

javascript - Websocket 跨页面 JavaScript

转载 作者:行者123 更新时间:2023-11-29 15:39:33 26 4
gpt4 key购买 nike

我已经在 J​​S 中实现了一个基本的 websockets 客户端:

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 连接。但是,如果我只是在加载时调用此方法,那么我担心每次重新加载页面时都会建立一个新连接,这是一个问题吗?。无论如何,建立一次连接并在不同的页面和页面重新加载中使用它?

谢谢

最佳答案

您可以通过从共享后台 Web worker 打开 WebSocket 连接来完成此操作。

当至少一个选项卡对给定来源(共享 Web worker 的)仍处于事件状态时,WebSocket 连接将保持打开状态。

我知道 Chrome 和 IE11 支持打开来自专用 Web worker 的 WebSocket 连接。 Firefox 目前没有。我不知道哪些浏览器支持来自共享 Web worker 的 WebSocket 连接(这正是您所需要的)。

关于javascript - Websocket 跨页面 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com