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