Home | History | Annotate | Download | only in novnc
      1 <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">
      2 <html>
      3 <head>
      4 
      5    <!--
      6     noVNC example: simple example using default UI
      7     Copyright (C) 2011 Joel Martin
      8     Licensed under LGPL-3 (see LICENSE.txt)
      9     -->
     10     <title>noVNC</title>
     11 
     12     <meta charset="utf-8">
     13 
     14     <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
     15                 Remove this if you use the .htaccess -->
     16     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     17 
     18     <!-- Apple iOS Safari settings -->
     19     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
     20     <meta name="apple-mobile-web-app-capable" content="yes" />
     21     <meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />
     22     <!-- App Start Icon  -->
     23     <link rel="apple-touch-startup-image" href="images/screen_320x460.png" />
     24     <!-- For iOS devices set the icon to use if user bookmarks app on their homescreen -->
     25     <link rel="apple-touch-icon" href="images/screen_57x57.png">
     26     <!--
     27     <link rel="apple-touch-icon-precomposed" href="images/screen_57x57.png" />
     28     -->
     29 
     30 
     31     <!-- Stylesheets -->
     32     <link rel="stylesheet" href="include/base.css" />
     33     <link rel="alternate stylesheet" href="include/black.css" TITLE="Black" />
     34     <link rel="alternate stylesheet" href="include/blue.css" TITLE="Blue" />
     35 
     36     <!--
     37     <script type='text/javascript'
     38         src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
     39     -->
     40 
     41     <script src="include/vnc.js"></script>
     42     <script src="include/ui.js"></script>
     43 
     44 </head>
     45 
     46 <body>
     47     <div id="noVNC-control-bar">
     48         <!--noVNC Mobile Device only Buttons-->
     49         <div class="noVNC-buttons-left">
     50             <input type="image" src="images/drag.png"
     51                 id="noVNC_view_drag_button" class="noVNC_status_button"
     52                 title="Move/Drag Viewport"
     53                 onclick="UI.setViewDrag();">
     54             <div id="noVNC_mobile_buttons">
     55                 <input type="image" src="images/mouse_none.png"
     56                     id="noVNC_mouse_button0" class="noVNC_status_button"
     57                     onclick="UI.setMouseButton(1);">
     58                 <input type="image" src="images/mouse_left.png"
     59                     id="noVNC_mouse_button1" class="noVNC_status_button"
     60                     onclick="UI.setMouseButton(2);">
     61                 <input type="image" src="images/mouse_middle.png"
     62                     id="noVNC_mouse_button2" class="noVNC_status_button"
     63                     onclick="UI.setMouseButton(4);">
     64                 <input type="image" src="images/mouse_right.png"
     65                     id="noVNC_mouse_button4" class="noVNC_status_button"
     66                     onclick="UI.setMouseButton(0);">
     67                 <input type="image" src="images/keyboard.png"
     68                     id="showKeyboard" class="noVNC_status_button"
     69                     value="Keyboard" title="Show Keyboard"
     70                     onclick="UI.showKeyboard()"/>
     71                 <input type="email"
     72                     autocapitalize="off" autocorrect="off"
     73                     id="keyboardinput" class="noVNC_status_button"
     74                     onKeyDown="onKeyDown(event);" onblur="UI.keyInputBlur();"/>
     75             </div>
     76         </div>
     77 
     78         <!--noVNC Buttons-->
     79         <div class="noVNC-buttons-right">
     80             <input type="image" src="images/ctrlaltdel.png"
     81                  id="sendCtrlAltDelButton" class="noVNC_status_button"
     82                 title="Send Ctrl-Alt-Del"
     83                 onclick="UI.sendCtrlAltDel();" />
     84             <input type="image" src="images/clipboard.png"
     85                 id="clipboardButton" class="noVNC_status_button"
     86                 title="Clipboard"
     87                 onclick="UI.toggleClipboardPanel();" />
     88             <input type="image" src="images/settings.png"
     89                 id="settingsButton" class="noVNC_status_button"
     90                 title="Settings"
     91                 onclick="UI.toggleSettingsPanel();" />
     92             <input type="image" src="images/connect.png"
     93                 id="connectButton" class="noVNC_status_button"
     94                 title="Connect"
     95                 onclick="UI.toggleConnectPanel()" />
     96             <input type="image" src="images/disconnect.png"
     97                 id="disconnectButton" class="noVNC_status_button"
     98                 title="Disconnect"
     99                 onclick="UI.disconnect()" />
    100         </div>
    101 
    102         <!-- Description Panel -->
    103         <!-- Shown by default when hosted at for kanaka.github.com -->
    104         <div id="noVNC_description" style="display:none;" class="">
    105             noVNC is a browser based VNC client implemented using HTML5 Canvas
    106             and WebSockets. You will either need a VNC server with WebSockets
    107             support (such as <a href="http://libvncserver.sourceforge.net/">libvncserver</a>)
    108             or you will need to use
    109             <a href="https://github.com/kanaka/websockify">websockify</a>
    110             to bridge between your browser and VNC server. See the noVNC
    111             <a href="https://github.com/kanaka/noVNC">README</a>
    112             and <a href="http://kanaka.github.com/noVNC">website</a>
    113             for more information.
    114             <br />
    115             <input type="button" value="Close"
    116                 onclick="UI.toggleConnectPanel();">
    117         </div>
    118 
    119         <!-- Clipboard Panel -->
    120         <div id="noVNC_clipboard" class="triangle-right top">
    121             <textarea id="noVNC_clipboard_text" rows=5
    122                 onfocus="UI.displayBlur();" onblur="UI.displayFocus();"
    123                 onchange="UI.clipSend();">
    124             </textarea>
    125             <br />
    126             <input id="noVNC_clipboard_clear_button" type="button"
    127                 value="Clear" onclick="UI.clipClear();">
    128         </div>
    129 
    130         <!-- Settings Panel -->
    131         <div id="noVNC_settings" class="triangle-right top">
    132             <span id="noVNC_settings_menu" onmouseover="UI.displayBlur();"
    133                                            onmouseout="UI.displayFocus();">
    134                 <ul>
    135                     <li><input id="noVNC_encrypt" type="checkbox"> Encrypt</li>
    136                     <li><input id="noVNC_true_color" type="checkbox" checked> True Color</li>
    137                     <li><input id="noVNC_cursor" type="checkbox"> Local Cursor</li>
    138                     <li><input id="noVNC_clip" type="checkbox"> Clip to Window</li>
    139                     <li><input id="noVNC_shared" type="checkbox"> Shared Mode</li>
    140                     <li><input id="noVNC_view_only" type="checkbox"> View Only</li>
    141                     <li><input id="noVNC_connectTimeout" type="input"> Connect Timeout (s)</li>
    142                     <li><input id="noVNC_path" type="input" value="websockify"> Path</li>
    143                     <hr>
    144                     <!-- Stylesheet selection dropdown -->
    145                     <li><label><strong>Style: </strong>
    146                         <select id="noVNC_stylesheet" name="vncStyle">
    147                             <option value="default">default</option>
    148                         </select></label>
    149                     </li>
    150 
    151                     <!-- Logging selection dropdown -->
    152                     <li><label><strong>Logging: </strong>
    153                         <select id="noVNC_logging" name="vncLogging">
    154                         </select></label>
    155                     </li>
    156                     <hr>
    157                     <li><input type="button" id="noVNC_apply" value="Apply"
    158                          onclick="UI.settingsApply()"></li>
    159                 </ul>
    160             </span>
    161         </div>
    162 
    163         <!-- Connection Panel -->
    164         <div id="noVNC_controls" class="triangle-right top">
    165             <ul>
    166                 <li><label><strong>Host: </strong><input id="noVNC_host" /></label></li>
    167                 <li><label><strong>Port: </strong><input id="noVNC_port" /></label></li>
    168                 <li><label><strong>Password: </strong><input id="noVNC_password" type="password" /></label></li>
    169                 <li><input id="noVNC_connect_button" type="button" value="Connect" onclick="UI.connect();"></li>
    170             </ul>
    171         </div>
    172 
    173     </div> <!-- End of noVNC-control-bar -->
    174 
    175 
    176     <div id="noVNC_screen">
    177         <div id="noVNC_screen_pad"></div>
    178 
    179         <div id="noVNC_status_bar" class="noVNC_status_bar">
    180                 <div id="noVNC_status">Loading</div>
    181         </div>
    182 
    183         <h1 id="noVNC_logo"><span>no</span><br />VNC</h1>
    184 
    185         <!-- HTML5 Canvas -->
    186         <div id="noVNC_container">
    187             <canvas id="noVNC_canvas" width="640px" height="20px">
    188                         Canvas not supported.
    189             </canvas>
    190         </div>
    191 
    192     </div>
    193 
    194     <script>
    195         window.onload = UI.load;
    196     </script>
    197  </body>
    198 </html>
    199