diff options
Diffstat (limited to 'classes/novnc/vnc_auto.html')
-rw-r--r-- | classes/novnc/vnc_auto.html | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/classes/novnc/vnc_auto.html b/classes/novnc/vnc_auto.html new file mode 100644 index 0000000..a500b79 --- /dev/null +++ b/classes/novnc/vnc_auto.html @@ -0,0 +1,116 @@ +<!DOCTYPE html> +<html> + <!-- + noVNC Example: Automatically connect on page load. + Copyright (C) 2011 Joel Martin + Licensed under LGPL-3 (see LICENSE.txt) + + Connect parameters are provided in query string: + http://example.com/?host=HOST&port=PORT&encrypt=1&true_color=1 + --> + <head> + <title>noVNC</title> + <meta http-equiv="X-UA-Compatible" content="chrome=1"> + <link rel="stylesheet" href="include/base.css" title="plain"> + <!-- + <script type='text/javascript' + src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script> + --> + <script src="include/vnc.js"></script> + </head> + + <body style="margin: 0px;"> + <div id="noVNC_screen"> + <div id="noVNC_status_bar" class="noVNC_status_bar" style="margin-top: 0px;"> + <table border=0 width="100%"><tr> + <td><div id="noVNC_status">Loading</div></td> + <td width="1%"><div id="noVNC_buttons"> + <input type=button value="Send CtrlAltDel" + id="sendCtrlAltDelButton"> + </div></td> + </tr></table> + </div> + <canvas id="noVNC_canvas" width="640px" height="20px"> + Canvas not supported. + </canvas> + </div> + + <script> + /*jslint white: false */ + /*global window, $, Util, RFB, */ + "use strict"; + + var rfb; + + function passwordRequired(rfb) { + var msg; + msg = '<form onsubmit="return setPassword();"'; + msg += ' style="margin-bottom: 0px">'; + msg += 'Password Required: '; + msg += '<input type=password size=10 id="password_input" class="noVNC_status">'; + msg += '<\/form>'; + $D('noVNC_status_bar').setAttribute("class", "noVNC_status_warn"); + $D('noVNC_status').innerHTML = msg; + } + function setPassword() { + rfb.sendPassword($D('password_input').value); + return false; + } + function sendCtrlAltDel() { + rfb.sendCtrlAltDel(); + return false; + } + function updateState(rfb, state, oldstate, msg) { + var s, sb, cad, level; + s = $D('noVNC_status'); + sb = $D('noVNC_status_bar'); + cad = $D('sendCtrlAltDelButton'); + switch (state) { + case 'failed': level = "error"; break; + case 'fatal': level = "error"; break; + case 'normal': level = "normal"; break; + case 'disconnected': level = "normal"; break; + case 'loaded': level = "normal"; break; + default: level = "warn"; break; + } + + if (state === "normal") { cad.disabled = false; } + else { cad.disabled = true; } + + if (typeof(msg) !== 'undefined') { + sb.setAttribute("class", "noVNC_status_" + level); + s.innerHTML = msg; + } + } + + window.onload = function () { + var host, port, password, path; + + $D('sendCtrlAltDelButton').style.display = "inline"; + $D('sendCtrlAltDelButton').onclick = sendCtrlAltDel; + + document.title = unescape(WebUtil.getQueryVar('title', 'noVNC')); + host = WebUtil.getQueryVar('host', null); + port = WebUtil.getQueryVar('port', null); + password = WebUtil.getQueryVar('password', ''); + path = WebUtil.getQueryVar('path', ''); + if ((!host) || (!port)) { + updateState('failed', + "Must specify host and port in URL"); + return; + } + + rfb = new RFB({'target': $D('noVNC_canvas'), + 'encrypt': WebUtil.getQueryVar('encrypt', false), + 'true_color': WebUtil.getQueryVar('true_color', true), + 'local_cursor': WebUtil.getQueryVar('cursor', true), + 'shared': WebUtil.getQueryVar('shared', true), + 'updateState': updateState, + 'onPasswordRequired': passwordRequired}); + rfb.connect(host, port, password, path); + }; + </script> + + </body> +</html> + |