diff options
| author | sD <stoned@derpymail.org> | 2020-04-11 18:02:04 +0200 |
|---|---|---|
| committer | sD <stoned@derpymail.org> | 2020-04-11 18:02:04 +0200 |
| commit | 82428c0ccc7b4938564b434fb0de153afb5af508 (patch) | |
| tree | 0618dc1e98a6b211aa3d902765aa4ca36e0b3a2a | |
| parent | 3a45f347bfae89c2d567695342edfda6ea26e13a (diff) | |
add an error message when the connection fails
| -rw-r--r-- | webAO/index.html | 5 | ||||
| -rw-r--r-- | webAO/master.js | 13 |
2 files changed, 17 insertions, 1 deletions
diff --git a/webAO/index.html b/webAO/index.html index c7f453d..0df9885 100644 --- a/webAO/index.html +++ b/webAO/index.html @@ -75,6 +75,11 @@ <p>https is not supported</p> <p>Please <a href="http://web.aceattorneyonline.com/">click here</a> to be redirected to the http version</p> </div> + <div id="ms_error" class="error" style="display: none;"> + <p>Could not connect to the master server.</p> + <p>Please check your firewall.</p> + <p id="ms_error_code">A network error occurred</p> + </div> <noscript> <div id="js_error" class="error"> <p>webAO requires JavaScript to work</p> diff --git a/webAO/master.js b/webAO/master.js index 4281a49..5527ce5 100644 --- a/webAO/master.js +++ b/webAO/master.js @@ -24,6 +24,7 @@ if (window.requestIdleCallback) { masterserver = new WebSocket("ws://" + MASTERSERVER_IP); masterserver.onopen = (evt) => onOpen(evt); + masterserver.onerror = (evt) => onError(evt); masterserver.onmessage = (evt) => onMessage(evt); if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) { @@ -40,6 +41,7 @@ if (window.requestIdleCallback) { masterserver = new WebSocket("ws://" + MASTERSERVER_IP); masterserver.onopen = (evt) => onOpen(evt); + masterserver.onerror = (evt) => onError(evt); masterserver.onmessage = (evt) => onMessage(evt); if (/webOS|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|PlayStation|Opera Mini/i.test(navigator.userAgent)) { @@ -74,6 +76,15 @@ function onOpen(_e) { masterserver.send("VC#%"); } +/** + * Triggered when an network error occurs. + * @param {ErrorEvent} e + */ +function onError(evt) { + document.getElementById("ms_error").style.display = "block"; + document.getElementById("ms_error_code").innerText = `A network error occurred: ${evt.reason} (${evt.code})`; +} + function checkOnline(serverID, coIP) { let oserv = new WebSocket("ws://" + coIP); @@ -159,4 +170,4 @@ function onMessage(e) { msChat.scrollTop = msChat.scrollHeight; } } -} +}
\ No newline at end of file |
