vnc.js 1.43 KB
Newer Older
1
/*
Joel Martin's avatar
Joel Martin committed
2
 * noVNC: HTML5 VNC client
3
 * Copyright (C) 2010 Joel Martin
Joel Martin's avatar
Joel Martin committed
4
 * Licensed under LGPL-3 (see LICENSE.txt)
5 6
 *
 * See README.md for usage and integration instructions.
7
 */
Joel Martin's avatar
Joel Martin committed
8

9
"use strict";
Joel Martin's avatar
Joel Martin committed
10 11
/*jslint evil: true */
/*global window, document, VNC_uri_prefix */
Joel Martin's avatar
Joel Martin committed
12 13

// Globals defined here
14
var VNC_native_ws, WEB_SOCKET_SWF_LOCATION;
15 16 17 18

/*
 * Load supporting scripts
 */
19 20 21 22
function get_VNC_uri_prefix() {
    return (typeof VNC_uri_prefix !== "undefined") ? VNC_uri_prefix : "include/";
}

Joel Martin's avatar
Joel Martin committed
23
(function () {
24
    var extra = "", start, end;
25

26
    start = "<script src='" + get_VNC_uri_prefix();
Joel Martin's avatar
Joel Martin committed
27 28 29
    end = "'><\/script>";

    // Uncomment to activate firebug lite
30 31
    //extra += "<script src='http://getfirebug.com/releases/lite/1.2/" + 
    //         "firebug-lite-compressed.js'><\/script>";
Joel Martin's avatar
Joel Martin committed
32

33
    extra += start + "util.js" + end;
34 35 36
    extra += start + "base64.js" + end;
    extra += start + "des.js" + end;
    extra += start + "canvas.js" + end;
37
    extra += start + "rfb.js" + end;
Joel Martin's avatar
Joel Martin committed
38 39 40 41 42 43

    /* If no builtin websockets then load web_socket.js */
    if (window.WebSocket) {
        VNC_native_ws = true;
    } else {
        VNC_native_ws = false;
44
        WEB_SOCKET_SWF_LOCATION = get_VNC_uri_prefix() +
45
                    "web-socket-js/WebSocketMain.swf";
46 47 48
        extra += start + "web-socket-js/swfobject.js" + end;
        extra += start + "web-socket-js/FABridge.js" + end;
        extra += start + "web-socket-js/web_socket.js" + end;
Joel Martin's avatar
Joel Martin committed
49 50 51
    }
    document.write(extra);
}());
52