[英]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.