feat: update noVNC to v1.1.0, flv.js to v1.5.0

This commit is contained in:
Doro Wu 2019-04-16 20:37:19 +08:00
parent 5e9ff11764
commit c85026298e
No known key found for this signature in database
GPG key ID: 3F2E4F1C2D4A1AA4
6 changed files with 111 additions and 91 deletions

View file

@ -51,8 +51,12 @@ ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /bin/
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
RUN mkdir -p /usr/local/ffmpeg \ RUN apt update \
&& curl -sSL https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar xJvf - -C /usr/local/ffmpeg/ --strip 1 && apt install -y --no-install-recommends --allow-unauthenticated \
ffmpeg \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/local/ffmpeg \
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
# python library # python library
COPY image/usr/local/lib/web/backend/requirements.txt /tmp/ COPY image/usr/local/lib/web/backend/requirements.txt /tmp/

View file

@ -72,8 +72,13 @@ ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-{{arc
RUN chmod +x /bin/tini RUN chmod +x /bin/tini
# ffmpeg # ffmpeg
RUN mkdir -p /usr/local/ffmpeg \ RUN apt update \
&& curl -sSL https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | tar xJvf - -C /usr/local/ffmpeg/ --strip 1 && apt install -y --no-install-recommends --allow-unauthenticated \
ffmpeg \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /usr/local/ffmpeg \
&& ln -s /usr/bin/ffmpeg /usr/local/ffmpeg/ffmpeg
# python library # python library
COPY image/usr/local/lib/web/backend/requirements.txt /tmp/ COPY image/usr/local/lib/web/backend/requirements.txt /tmp/

@ -1 +1 @@
Subproject commit 35dd3c2299b3e13e2b57a2a34be723fb01014ee3 Subproject commit 9fe2fd04d4eeda0d5a360009453861803ba0ca84

File diff suppressed because one or more lines are too long

View file

@ -32,7 +32,7 @@
</head> </head>
<body> <body>
<div id="mainContainer" class="mainContainer"> <div id="mainContainer" class="mainContainer">
<video name="videoElement" class="centeredVideo" autoplay width="1024" height="576"> <video name="videoElement" class="centeredVideo" width="1024" height="576">
Your browser is too old which doesn't support HTML5 video. Your browser is too old which doesn't support HTML5 video.
</video> </video>
<br> <br>
@ -67,11 +67,28 @@
url: url, url: url,
isLive: true, isLive: true,
withCredentials: true withCredentials: true
}, {isLive: true, enableStashBuffer: false}); }, { isLive: true, enableStashBuffer: false });
flvPlayer.attachMediaElement(videoElement); flvPlayer.attachMediaElement(videoElement);
flvPlayer.load(); flvPlayer.load();
flvPlayer.play(); function f() {
flvPlayer.on("error", function() { try {
// flvPlayer.play();
var playPromise = videoElement.play();
if (playPromise !== undefined) {
playPromise.then(_ => {
console.log("play successfully");
}).catch(error => {
// console.log(error);
setTimeout(f, 10)
});
} else {
// console.log('undefined');
setTimeout(f, 10)
}
} catch (e) { console.log(e); }
}
videoElement.addEventListener('canplay', function (e) { setTimeout(f, 0); });
flvPlayer.on("error", function () {
window.location.reload(); window.location.reload();
}); });
} catch (e) { } catch (e) {

View file

@ -1,12 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="noVNC_loading"> <html lang="en" class="noVNC_loading">
<head> <head>
<!-- <!--
noVNC example: simple example using default UI noVNC example: simple example using default UI
Copyright (C) 2012 Joel Martin Copyright (C) 2018 The noVNC Authors
Copyright (C) 2016 Samuel Mannehed for Cendio AB
Copyright (C) 2016 Pierre Ossman for Cendio AB
noVNC is licensed under the MPL 2.0 (see LICENSE.txt) noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
This file is licensed under the 2-Clause BSD license (see LICENSE.txt). This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
@ -17,13 +15,9 @@
--> -->
<title>noVNC</title> <title>noVNC</title>
<meta charset="utf-8" /> <meta charset="utf-8">
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame <!-- Icons (see app/images/icons/Makefile for what the sizes are for) -->
Remove this if you use the .htaccess -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- Icons (see Makefile for what the sizes are for) -->
<link rel="icon" sizes="16x16" type="image/png" href="novnc/app/images/icons/novnc-16x16.png"> <link rel="icon" sizes="16x16" type="image/png" href="novnc/app/images/icons/novnc-16x16.png">
<link rel="icon" sizes="24x24" type="image/png" href="novnc/app/images/icons/novnc-24x24.png"> <link rel="icon" sizes="24x24" type="image/png" href="novnc/app/images/icons/novnc-24x24.png">
<link rel="icon" sizes="32x32" type="image/png" href="novnc/app/images/icons/novnc-32x32.png"> <link rel="icon" sizes="32x32" type="image/png" href="novnc/app/images/icons/novnc-32x32.png">
@ -38,31 +32,26 @@
<link rel="icon" sizes="152x152" type="image/png" href="novnc/app/images/icons/novnc-152x152.png"> <link rel="icon" sizes="152x152" type="image/png" href="novnc/app/images/icons/novnc-152x152.png">
<link rel="icon" sizes="192x192" type="image/png" href="novnc/app/images/icons/novnc-192x192.png"> <link rel="icon" sizes="192x192" type="image/png" href="novnc/app/images/icons/novnc-192x192.png">
<!-- Firefox currently mishandles SVG, see #1419039 <!-- Firefox currently mishandles SVG, see #1419039
<link rel="icon" sizes="any" type="image/svg+xml" href="app/images/icons/novnc-icon.svg"> <link rel="icon" sizes="any" type="image/svg+xml" href="novnc/app/images/icons/novnc-icon.svg">
--> -->
<!-- Repeated last so that legacy handling will pick this --> <!-- Repeated last so that legacy handling will pick this -->
<link rel="icon" sizes="16x16" type="image/png" href="novnc/app/images/icons/novnc-16x16.png"> <link rel="icon" sizes="16x16" type="image/png" href="novnc/app/images/icons/novnc-16x16.png">
<!-- Apple iOS Safari settings --> <!-- Apple iOS Safari settings -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- Home Screen Icons (favourites and bookmarks use the normal icons) --> <!-- Home Screen Icons (favourites and bookmarks use the normal icons) -->
<link rel="apple-touch-icon" sizes="60x60" type="novnc/image/png" href="novnc/app/images/icons/novnc-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" type="image/png" href="novnc/app/images/icons/novnc-60x60.png">
<link rel="apple-touch-icon" sizes="76x76" type="novnc/image/png" href="novnc/app/images/icons/novnc-76x76.png"> <link rel="apple-touch-icon" sizes="76x76" type="image/png" href="novnc/app/images/icons/novnc-76x76.png">
<link rel="apple-touch-icon" sizes="120x120" type="novnc/image/png" href="novnc/app/images/icons/novnc-120x120.png"> <link rel="apple-touch-icon" sizes="120x120" type="image/png" href="novnc/app/images/icons/novnc-120x120.png">
<link rel="apple-touch-icon" sizes="152x152" type="novnc/image/png" href="novnc/app/images/icons/novnc-152x152.png"> <link rel="apple-touch-icon" sizes="152x152" type="image/png" href="novnc/app/images/icons/novnc-152x152.png">
<!-- Stylesheets --> <!-- Stylesheets -->
<link rel="stylesheet" href="novnc/app/styles/base.css" /> <link rel="stylesheet" href="novnc/app/styles/base.css">
<!--
<script type='text/javascript'
src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
-->
<!-- this is included as a normal file in order to catch script-loading errors as well --> <!-- this is included as a normal file in order to catch script-loading errors as well -->
<script type="text/javascript" src="novnc/app/error-handler.js"></script> <script src="novnc/app/error-handler.js"></script>
<!-- begin scripts --> <!-- begin scripts -->
<!-- promise polyfills promises for IE11 --> <!-- promise polyfills promises for IE11 -->
@ -102,54 +91,56 @@
<div class="noVNC_scroll"> <div class="noVNC_scroll">
<h1 class="noVNC_logo" translate="no"><span>no</span><br />VNC</h1> <h1 class="noVNC_logo" translate="no"><span>no</span><br>VNC</h1>
<!-- Drag/Pan the viewport --> <!-- Drag/Pan the viewport -->
<input type="image" alt="viewport drag" src="novnc/app/images/drag.svg" <input type="image" alt="viewport drag" src="novnc/app/images/drag.svg"
id="noVNC_view_drag_button" class="noVNC_button noVNC_hidden" id="noVNC_view_drag_button" class="noVNC_button noVNC_hidden"
title="Move/Drag Viewport" /> title="Move/Drag Viewport">
<!--noVNC Touch Device only buttons--> <!--noVNC Touch Device only buttons-->
<div id="noVNC_mobile_buttons"> <div id="noVNC_mobile_buttons">
<input type="image" alt="No mousebutton" src="novnc/app/images/mouse_none.svg" <input type="image" alt="No mousebutton" src="novnc/app/images/mouse_none.svg"
id="noVNC_mouse_button0" class="noVNC_button" id="noVNC_mouse_button0" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
<input type="image" alt="Left mousebutton" src="novnc/app/images/mouse_left.svg" <input type="image" alt="Left mousebutton" src="novnc/app/images/mouse_left.svg"
id="noVNC_mouse_button1" class="noVNC_button" id="noVNC_mouse_button1" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
<input type="image" alt="Middle mousebutton" src="novnc/app/images/mouse_middle.svg" <input type="image" alt="Middle mousebutton" src="novnc/app/images/mouse_middle.svg"
id="noVNC_mouse_button2" class="noVNC_button" id="noVNC_mouse_button2" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
<input type="image" alt="Right mousebutton" src="novnc/app/images/mouse_right.svg" <input type="image" alt="Right mousebutton" src="novnc/app/images/mouse_right.svg"
id="noVNC_mouse_button4" class="noVNC_button" id="noVNC_mouse_button4" class="noVNC_button"
title="Active Mouse Button"/> title="Active Mouse Button">
<input type="image" alt="Keyboard" src="novnc/app/images/keyboard.svg" <input type="image" alt="Keyboard" src="novnc/app/images/keyboard.svg"
id="noVNC_keyboard_button" class="noVNC_button" id="noVNC_keyboard_button" class="noVNC_button" title="Show Keyboard">
value="Keyboard" title="Show Keyboard" />
</div> </div>
<!-- Extra manual keys --> <!-- Extra manual keys -->
<div id="noVNC_extra_keys"> <div id="noVNC_extra_keys">
<input type="image" alt="Extra keys" src="novnc/app/images/toggleextrakeys.svg" <input type="image" alt="Extra keys" src="novnc/app/images/toggleextrakeys.svg"
id="noVNC_toggle_extra_keys_button" class="noVNC_button" id="noVNC_toggle_extra_keys_button" class="noVNC_button"
title="Show Extra Keys"/> title="Show Extra Keys">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_modifiers" class="noVNC_panel"> <div id="noVNC_modifiers" class="noVNC_panel">
<input type="image" alt="Ctrl" src="novnc/app/images/ctrl.svg" <input type="image" alt="Ctrl" src="novnc/app/images/ctrl.svg"
id="noVNC_toggle_ctrl_button" class="noVNC_button" id="noVNC_toggle_ctrl_button" class="noVNC_button"
title="Toggle Ctrl"/> title="Toggle Ctrl">
<input type="image" alt="Alt" src="novnc/app/images/alt.svg" <input type="image" alt="Alt" src="novnc/app/images/alt.svg"
id="noVNC_toggle_alt_button" class="noVNC_button" id="noVNC_toggle_alt_button" class="noVNC_button"
title="Toggle Alt"/> title="Toggle Alt">
<input type="image" alt="Windows" src="novnc/app/images/windows.svg"
id="noVNC_toggle_windows_button" class="noVNC_button"
title="Toggle Windows">
<input type="image" alt="Tab" src="novnc/app/images/tab.svg" <input type="image" alt="Tab" src="novnc/app/images/tab.svg"
id="noVNC_send_tab_button" class="noVNC_button" id="noVNC_send_tab_button" class="noVNC_button"
title="Send Tab"/> title="Send Tab">
<input type="image" alt="Esc" src="novnc/app/images/esc.svg" <input type="image" alt="Esc" src="novnc/app/images/esc.svg"
id="noVNC_send_esc_button" class="noVNC_button" id="noVNC_send_esc_button" class="noVNC_button"
title="Send Escape"/> title="Send Escape">
<input type="image" alt="Ctrl+Alt+Del" src="novnc/app/images/ctrlaltdel.svg" <input type="image" alt="Ctrl+Alt+Del" src="novnc/app/images/ctrlaltdel.svg"
id="noVNC_send_ctrl_alt_del_button" class="noVNC_button" id="noVNC_send_ctrl_alt_del_button" class="noVNC_button"
title="Send Ctrl-Alt-Del" /> title="Send Ctrl-Alt-Del">
</div> </div>
</div> </div>
</div> </div>
@ -157,58 +148,58 @@
<!-- Shutdown/Reboot --> <!-- Shutdown/Reboot -->
<input type="image" alt="Shutdown/Reboot" src="novnc/app/images/power.svg" <input type="image" alt="Shutdown/Reboot" src="novnc/app/images/power.svg"
id="noVNC_power_button" class="noVNC_button" id="noVNC_power_button" class="noVNC_button"
title="Shutdown/Reboot..." /> title="Shutdown/Reboot...">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_power" class="noVNC_panel"> <div id="noVNC_power" class="noVNC_panel">
<div class="noVNC_heading"> <div class="noVNC_heading">
<img src="novnc/app/images/power.svg"> Power <img alt="" src="novnc/app/images/power.svg"> Power
</div> </div>
<input type="button" id="noVNC_shutdown_button" value="Shutdown" /> <input type="button" id="noVNC_shutdown_button" value="Shutdown">
<input type="button" id="noVNC_reboot_button" value="Reboot" /> <input type="button" id="noVNC_reboot_button" value="Reboot">
<input type="button" id="noVNC_reset_button" value="Reset" /> <input type="button" id="noVNC_reset_button" value="Reset">
</div> </div>
</div> </div>
<!-- Clipboard --> <!-- Clipboard -->
<input type="image" alt="Clipboard" src="novnc/app/images/clipboard.svg" <input type="image" alt="Clipboard" src="novnc/app/images/clipboard.svg"
id="noVNC_clipboard_button" class="noVNC_button" id="noVNC_clipboard_button" class="noVNC_button"
title="Clipboard" /> title="Clipboard">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_clipboard" class="noVNC_panel"> <div id="noVNC_clipboard" class="noVNC_panel">
<div class="noVNC_heading"> <div class="noVNC_heading">
<img src="novnc/app/images/clipboard.svg"> Clipboard <img alt="" src="novnc/app/images/clipboard.svg"> Clipboard
</div> </div>
<textarea id="noVNC_clipboard_text" rows=5></textarea> <textarea id="noVNC_clipboard_text" rows=5></textarea>
<br /> <br>
<input id="noVNC_clipboard_clear_button" type="button" <input id="noVNC_clipboard_clear_button" type="button"
value="Clear" class="noVNC_submit" /> value="Clear" class="noVNC_submit">
</div> </div>
</div> </div>
<!-- Toggle fullscreen --> <!-- Toggle fullscreen -->
<input type="image" alt="Fullscreen" src="novnc/app/images/fullscreen.svg" <input type="image" alt="Fullscreen" src="novnc/app/images/fullscreen.svg"
id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden" id="noVNC_fullscreen_button" class="noVNC_button noVNC_hidden"
title="Fullscreen" /> title="Fullscreen">
<!-- Settings --> <!-- Settings -->
<input type="image" alt="Settings" src="novnc/app/images/settings.svg" <input type="image" alt="Settings" src="novnc/app/images/settings.svg"
id="noVNC_settings_button" class="noVNC_button" id="noVNC_settings_button" class="noVNC_button"
title="Settings" /> title="Settings">
<div class="noVNC_vcenter"> <div class="noVNC_vcenter">
<div id="noVNC_settings" class="noVNC_panel"> <div id="noVNC_settings" class="noVNC_panel">
<ul> <ul>
<li class="noVNC_heading"> <li class="noVNC_heading">
<img src="novnc/app/images/settings.svg"> Settings <img alt="" src="novnc/app/images/settings.svg"> Settings
</li> </li>
<li> <li>
<label><input id="noVNC_setting_shared" type="checkbox" /> Shared Mode</label> <label><input id="noVNC_setting_shared" type="checkbox"> Shared Mode</label>
</li> </li>
<li> <li>
<label><input id="noVNC_setting_view_only" type="checkbox" /> View Only</label> <label><input id="noVNC_setting_view_only" type="checkbox"> View Only</label>
</li> </li>
<li><hr></li> <li><hr></li>
<li> <li>
<label><input id="noVNC_setting_view_clip" type="checkbox" /> Clip to Window</label> <label><input id="noVNC_setting_view_clip" type="checkbox"> Clip to Window</label>
</li> </li>
<li> <li>
<label for="noVNC_setting_resize">Scaling Mode:</label> <label for="noVNC_setting_resize">Scaling Mode:</label>
@ -224,35 +215,39 @@
<div><ul> <div><ul>
<li> <li>
<label for="noVNC_setting_repeaterID">Repeater ID:</label> <label for="noVNC_setting_repeaterID">Repeater ID:</label>
<input id="noVNC_setting_repeaterID" type="input" value="" /> <input id="noVNC_setting_repeaterID" type="text" value="">
</li> </li>
<li> <li>
<div class="noVNC_expander">WebSocket</div> <div class="noVNC_expander">WebSocket</div>
<div><ul> <div><ul>
<li> <li>
<label><input id="noVNC_setting_encrypt" type="checkbox" /> Encrypt</label> <label><input id="noVNC_setting_encrypt" type="checkbox"> Encrypt</label>
</li> </li>
<li> <li>
<label for="noVNC_setting_host">Host:</label> <label for="noVNC_setting_host">Host:</label>
<input id="noVNC_setting_host" /> <input id="noVNC_setting_host">
</li> </li>
<li> <li>
<label for="noVNC_setting_port">Port:</label> <label for="noVNC_setting_port">Port:</label>
<input id="noVNC_setting_port" type="number" /> <input id="noVNC_setting_port" type="number">
</li> </li>
<li> <li>
<label for="noVNC_setting_path">Path:</label> <label for="noVNC_setting_path">Path:</label>
<input id="noVNC_setting_path" type="input" value="websockify" /> <input id="noVNC_setting_path" type="text" value="websockify">
</li> </li>
</ul></div> </ul></div>
</li> </li>
<li><hr></li> <li><hr></li>
<li> <li>
<label><input id="noVNC_setting_reconnect" type="checkbox" /> Automatic Reconnect</label> <label><input id="noVNC_setting_reconnect" type="checkbox"> Automatic Reconnect</label>
</li> </li>
<li> <li>
<label for="noVNC_setting_reconnect_delay">Reconnect Delay (ms):</label> <label for="noVNC_setting_reconnect_delay">Reconnect Delay (ms):</label>
<input id="noVNC_setting_reconnect_delay" type="number" /> <input id="noVNC_setting_reconnect_delay" type="number">
</li>
<li><hr></li>
<li>
<label><input id="noVNC_setting_show_dot" type="checkbox" checked> Show Dot when No Cursor</label>
</li> </li>
<li><hr></li> <li><hr></li>
<!-- Logging selection dropdown --> <!-- Logging selection dropdown -->
@ -271,7 +266,7 @@
<!-- Connection Controls --> <!-- Connection Controls -->
<input type="image" alt="Disconnect" src="novnc/app/images/disconnect.svg" <input type="image" alt="Disconnect" src="novnc/app/images/disconnect.svg"
id="noVNC_disconnect_button" class="noVNC_button" id="noVNC_disconnect_button" class="noVNC_button"
title="Disconnect" /> title="Disconnect">
</div> </div>
</div> </div>
@ -288,7 +283,7 @@
<div id="noVNC_connect_dlg"> <div id="noVNC_connect_dlg">
<div class="noVNC_logo" translate="no"><span>no</span>VNC</div> <div class="noVNC_logo" translate="no"><span>no</span>VNC</div>
<div id="noVNC_connect_button"><div> <div id="noVNC_connect_button"><div>
<img src="novnc/app/images/connect.svg"> Connect <img alt="" src="novnc/app/images/connect.svg"> Connect
</div></div> </div></div>
</div> </div>
</div> </div>
@ -299,10 +294,10 @@
<ul> <ul>
<li> <li>
<label>Password:</label> <label>Password:</label>
<input id="noVNC_password_input" type="password" /> <input id="noVNC_password_input" type="password">
</li> </li>
<li> <li>
<input id="noVNC_password_button" type="submit" value="Send Password" class="noVNC_submit" /> <input id="noVNC_password_button" type="submit" value="Send Password" class="noVNC_submit">
</li> </li>
</ul> </ul>
</form></div> </form></div>
@ -312,7 +307,7 @@
<div id="noVNC_transition"> <div id="noVNC_transition">
<div id="noVNC_transition_text"></div> <div id="noVNC_transition_text"></div>
<div> <div>
<input type="button" id="noVNC_cancel_reconnect_button" value="Cancel" class="noVNC_submit" /> <input type="button" id="noVNC_cancel_reconnect_button" value="Cancel" class="noVNC_submit">
</div> </div>
<div class="noVNC_spinner"></div> <div class="noVNC_spinner"></div>
</div> </div>
@ -324,8 +319,7 @@
on-screen keyboard. Let's hope Chrome implements the ime-mode on-screen keyboard. Let's hope Chrome implements the ime-mode
style for example --> style for example -->
<textarea id="noVNC_keyboardinput" autocapitalize="off" <textarea id="noVNC_keyboardinput" autocapitalize="off"
autocorrect="off" autocomplete="off" spellcheck="false" autocomplete="off" spellcheck="false" tabindex="-1"></textarea>
mozactionhint="Enter" tabindex="-1"></textarea>
</div> </div>
<audio id="noVNC_bell"> <audio id="noVNC_bell">
@ -339,13 +333,13 @@
setTimeout(f, 1000); setTimeout(f, 1000);
} else { } else {
UI.rfb.addEventListener('connect', function(event) { UI.rfb.addEventListener('connect', function(event) {
window.parent.postMessage(JSON.stringify({from: 'novnc', state: 'connectedd'}), '*'); window.parent.postMessage(JSON.stringify({from: 'novnc', state: 'connected'}), '*');
UI.rfb._display.defaultCursor(); // UI.rfb._display.defaultCursor();
// console.log(UI.connected) // console.log(UI.connected)
// console.log(event); // console.log(event);
}); });
UI.rfb.addEventListener('disconnect', function(event) { UI.rfb.addEventListener('disconnect', function(event) {
window.parent.postMessage(JSON.stringify({from: 'novnc', state: 'disconneccted'}), '*'); window.parent.postMessage(JSON.stringify({from: 'novnc', state: 'disconnected'}), '*');
}); });
// console.log(UI.rfb._rfb_connection_state); // console.log(UI.rfb._rfb_connection_state);
} }