28 lines
862 B
JavaScript
28 lines
862 B
JavaScript
function restartWebSocket() {
|
|
var old_ws = ws_connection;
|
|
old_ws.close();
|
|
ws_connection = new WebSocket('wss://broadcaster.sfner.com');
|
|
ws_connection.onopen = old_ws.onopen;
|
|
ws_connection.onclose = old_ws.onclose;
|
|
ws_connection.onmessage = old_ws.onmessage;
|
|
}
|
|
|
|
function configureWebSocket() {
|
|
var joinRoomCmd = `@joinRoom:${document.location.hash.substr(1)}`;
|
|
ws_connection.send(joinRoomCmd);
|
|
}
|
|
|
|
function onMessageFromWebSocket(message) {
|
|
handleMessage(JSON.parse(message.data));
|
|
}
|
|
|
|
function onBeforeUnload() {
|
|
ws_connection.onclose = function () { };
|
|
ws_connection.close();
|
|
}
|
|
|
|
var ws_connection = new WebSocket('wss://broadcaster.sfner.com');
|
|
ws_connection.onopen = configureWebSocket;
|
|
ws_connection.onclose = restartWebSocket;
|
|
ws_connection.onmessage = onMessageFromWebSocket;
|
|
window.onbeforeunload = onBeforeUnload; |