簡體   English   中英

跨頁面的Websocket JavaScript

[英]Websocket across pages JavaScript

我在JS中實現了一個基本的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工作者打開WebSocket連接來完成此操作。

當至少一個選項卡仍然對給定源(共享Web工作者)有效時,WebSocket連接將保持打開狀態。

我知道Chrome和IE11支持從專門的Web工作者打開WebSocket連接。 Firefox目前沒有。 我不知道哪些瀏覽器支持共享 Web工作者的WebSocket連接(這是您需要的)。

這不會有任何問題。 因為每次頁面重新加載頁面時都會松動連接並建立新的連接。

而你的另一個問題的答案“無論如何,一旦建立連接並在不同的頁面和頁面重新加載中使用它”是沒有的。 頁面重新加載后,您無法在整個頁面中使用相同的連接。

如果用戶更改頁面,則無法保持連接打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM