Просмотр исходного кода

feature: Websocket URL is now relocatable (#322)

* feature: Websocket URL is now relocatable

* feature: Websocket URL is now relocatable
James Read 2 лет назад
Родитель
Сommit
c70cc864ee
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      webui.dev/js/websocket.js

+ 9 - 4
webui.dev/js/websocket.js

@@ -9,14 +9,19 @@ export function checkWebsocketConnection () {
 function reconnectWebsocket () {
   window.websocketAvailable = false
 
-  let proto = 'ws:'
+  const websocketConnectionUrl = new URL(window.location.toString())
+  websocketConnectionUrl.hash = ''
+  websocketConnectionUrl.pathname += 'websocket'
 
   if (window.location.protocol === 'https:') {
-    proto = 'wss:'
+    websocketConnectionUrl.protocol = 'wss'
+  } else {
+    websocketConnectionUrl.protocol = 'ws'
   }
 
-  const websocketConnectionUrl = proto + window.location.host + '/websocket'
-  const ws = window.ws = new WebSocket(websocketConnectionUrl)
+  window.websocketConnectionUrl = websocketConnectionUrl
+
+  const ws = window.ws = new WebSocket(websocketConnectionUrl.toString())
 
   ws.addEventListener('open', websocketOnOpen)
   ws.addEventListener('message', websocketOnMessage)