Pārlūkot izejas kodu

IE9 fixes. Works but slow. API change.

API change: changed include path variable from VNC_uri_prefix to
URI_INCLUDE since websock.js uses the variable and websock.js is no
longer just for noVNC (i.e. websockify is really the canonical
location for websock.js).

Changes to get web-socket-js to work. Right now it's a hack to get
around: https://github.com/gimite/web-socket-js/issues#issue/41. The
hack is to disable caching of the flash objects by appending
"?" + Math.random() to the end of the flash object path (but only when
using IE).
Joel Martin 14 gadi atpakaļ
vecāks
revīzija
0981845ec4
4 mainītis faili ar 13 papildinājumiem un 7 dzēšanām
  1. 3 1
      docs/TODO
  2. 1 1
      include/ui.js
  3. 4 4
      include/vnc.js
  4. 5 1
      include/websock.js

+ 3 - 1
docs/TODO

@@ -3,7 +3,9 @@ Short Term:
 - Keyboard layout/internationalization support
     - convert keyCode into proper charCode
 
-- Test on IE 9 preview 3.
+- IE 9 improvements.
+    - https://github.com/gimite/web-socket-js/issues#issue/41
+    - try window.atob instead of decode for better performance
 
 - Status bar menu/buttons:
     - Explanatory hover text over buttons

+ 1 - 1
include/ui.js

@@ -7,7 +7,7 @@
  */
 "use strict";
 /*jslint white: false */
-/*global $, Util, RFB, Canvas, VNC_uri_prefix, Element, Fx */
+/*global $, Util, RFB, Canvas, Element, Fx */
 
 var UI = {
 

+ 4 - 4
include/vnc.js

@@ -8,7 +8,7 @@
 
 "use strict";
 /*jslint evil: true */
-/*global window, document, VNC_uri_prefix */
+/*global window, document, INCLUDE_URI */
 
 // Globals defined here
 var VNC_native_ws, WEB_SOCKET_SWF_LOCATION;
@@ -16,14 +16,14 @@ var VNC_native_ws, WEB_SOCKET_SWF_LOCATION;
 /*
  * Load supporting scripts
  */
-function get_VNC_uri_prefix() {
-    return (typeof VNC_uri_prefix !== "undefined") ? VNC_uri_prefix : "include/";
+function get_INCLUDE_URI() {
+    return (typeof INCLUDE_URI !== "undefined") ? INCLUDE_URI : "include/";
 }
 
 (function () {
     var extra = "", start, end;
 
-    start = "<script src='" + get_VNC_uri_prefix();
+    start = "<script src='" + get_INCLUDE_URI();
     end = "'><\/script>";
 
     // Uncomment to activate firebug lite

+ 5 - 1
include/websock.js

@@ -32,7 +32,11 @@ if (window.WebSocket) {
             end = "'><\/script>", extra = "";
 
         WEB_SOCKET_SWF_LOCATION = get_INCLUDE_URI() +
-                    "web-socket-js/WebSocketMain.swf";
+                    "web-socket-js/WebSocketMain.swf?" + Math.random();
+        if (Util.Engine.trident) {
+            Util.Debug("Forcing uncached load of WebSocketMain.swf");
+            WEB_SOCKET_SWF_LOCATION += "?" + Math.random();
+        }
         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;