diff --git a/core/rfb.js b/core/rfb.js index 6b6cd41e..f6553cd1 100644 --- a/core/rfb.js +++ b/core/rfb.js @@ -57,7 +57,7 @@ const rawChannelProps = [ "send", "close", "binaryType", - "onclose", + "addEventListener", "onerror", "onmessage", "onopen", diff --git a/core/websock.js b/core/websock.js index fc3f7d1b..7abd0b67 100644 --- a/core/websock.js +++ b/core/websock.js @@ -217,17 +217,19 @@ export default class WebChannel { Log.Debug(`<< WebChannel.onopen`); }; + const onClose = (e) => { + Log.Debug(`>> WebChannel.close event`); + this._eventHandlers.close(e); + Log.Debug(`<< WebChannel.close event`); + }; + if (!isOpen) { this._rawChannel.onopen = onOpen; } else { onOpen(); } - this._rawChannel.onclose = (e) => { - Log.Debug(`>> WebChannel.onclose`); - this._eventHandlers.close(e); - Log.Debug(`<< WebChannel.onclose`); - }; + this._rawChannel.addEventListener('close', onClose.bind(this)); this._rawChannel.onerror = (e) => { Log.Debug(`>> WebChannel.onerror: ` + e);