]> git.proxmox.com Git - mirror_novnc.git/blame - vnc_auto.html
Broadway link cleanup.
[mirror_novnc.git] / vnc_auto.html
CommitLineData
40f281eb 1<!DOCTYPE html>
91308399 2<html>
d595e656
JM
3 <!--
4 noVNC Example: Automatically connect on page load.
d0c29bb6 5 Copyright (C) 2011 Joel Martin
5f409eee 6 Licensed under LGPL-3 (see LICENSE.txt)
d595e656
JM
7
8 Connect parameters are provided in query string:
9 http://example.com/?host=HOST&port=PORT&encrypt=1&true_color=1
10 -->
91308399 11 <head>
e66f3f89
JM
12 <title>noVNC</title>
13 <meta http-equiv="X-UA-Compatible" content="chrome=1">
8db09746 14 <link rel="stylesheet" href="include/plain.css" title="plain">
a93c9555
JM
15 <!--
16 <script type='text/javascript'
17 src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
18 -->
19 <script src="include/vnc.js"></script>
91308399
JM
20 </head>
21
63708ff5 22 <body style="margin: 0px;">
91308399 23 <div id="VNC_screen">
63708ff5 24 <div id="VNC_status_bar" class="VNC_status_bar" style="margin-top: 0px;">
8db09746 25 <table border=0 width="100%"><tr>
63708ff5 26 <td><div id="VNC_status">Loading</div></td>
8db09746 27 <td width="1%"><div id="VNC_buttons">
63708ff5 28 <input type=button value="Send CtrlAltDel"
8db09746
JM
29 id="sendCtrlAltDelButton">
30 </div></td>
63708ff5
JM
31 </tr></table>
32 </div>
91308399
JM
33 <canvas id="VNC_canvas" width="640px" height="20px">
34 Canvas not supported.
35 </canvas>
36 </div>
91308399 37
8db09746
JM
38 <script>
39 /*jslint white: false */
40 /*global window, $, Util, RFB, */
41 "use strict";
42
43 var rfb;
44
d890e864
JM
45 function passwordRequired(rfb) {
46 var msg;
47 msg = '<form onsubmit="return setPassword();"';
48 msg += ' style="margin-bottom: 0px">';
49 msg += 'Password Required: ';
50 msg += '<input type=password size=10 id="password_input" class="VNC_status">';
51 msg += '<\/form>';
52 $D('VNC_status_bar').setAttribute("class", "VNC_status_warn");
53 $D('VNC_status').innerHTML = msg;
54 }
91308399 55 function setPassword() {
e4671910 56 rfb.sendPassword($D('password_input').value);
91308399
JM
57 return false;
58 }
63708ff5 59 function sendCtrlAltDel() {
8db09746 60 rfb.sendCtrlAltDel();
a8edf9d8 61 return false;
63708ff5 62 }
8db09746 63 function updateState(rfb, state, oldstate, msg) {
d890e864 64 var s, sb, cad, level;
e4671910
JM
65 s = $D('VNC_status');
66 sb = $D('VNC_status_bar');
67 cad = $D('sendCtrlAltDelButton');
91308399 68 switch (state) {
d890e864
JM
69 case 'failed': level = "error"; break;
70 case 'fatal': level = "error"; break;
71 case 'normal': level = "normal"; break;
72 case 'disconnected': level = "normal"; break;
73 case 'loaded': level = "normal"; break;
74 default: level = "warn"; break;
91308399
JM
75 }
76
160fabf6
JM
77 if (state === "normal") { cad.disabled = false; }
78 else { cad.disabled = true; }
79
91308399 80 if (typeof(msg) !== 'undefined') {
d890e864 81 sb.setAttribute("class", "VNC_status_" + level);
91308399
JM
82 s.innerHTML = msg;
83 }
91308399
JM
84 }
85
86 window.onload = function () {
da6dd893 87 var host, port, password;
91308399 88
e4671910 89 $D('sendCtrlAltDelButton').onclick = sendCtrlAltDel;
8db09746 90
8d5d2c82
AM
91 host = WebUtil.getQueryVar('host', null);
92 port = WebUtil.getQueryVar('port', null);
93 password = WebUtil.getQueryVar('password', '');
91308399
JM
94 if ((!host) || (!port)) {
95 updateState('failed',
96 "Must specify host and port in URL");
97 return;
98 }
99
e4671910
JM
100 rfb = new RFB({'target': $D('VNC_canvas'),
101 'encrypt': WebUtil.getQueryVar('encrypt', false),
f1a9971c
JM
102 'true_color': WebUtil.getQueryVar('true_color', true),
103 'local_cursor': WebUtil.getQueryVar('cursor', true),
104 'shared': WebUtil.getQueryVar('shared', true),
d890e864
JM
105 'updateState': updateState,
106 'onPasswordRequired': passwordRequired});
8db09746
JM
107 rfb.connect(host, port, password);
108 };
109 </script>
da6dd893 110
8db09746 111 </body>
91308399
JM
112</html>
113