Prechádzať zdrojové kódy

Improve IE 7 and 8 amber compatibility

Laurent Laffont 12 rokov pred
rodič
commit
7f0779833b
2 zmenil súbory, kde vykonal 23 pridanie a 0 odobranie
  1. 1 0
      js/amber.js
  2. 22 0
      js/compat.js

+ 1 - 0
js/amber.js

@@ -40,6 +40,7 @@ amber = (function() {
 		}
 
 		loadDependencies();
+		loadJS('compat.js');
 		loadJS('boot.js');
 
 		populateLocalPackages();

+ 22 - 0
js/compat.js

@@ -0,0 +1,22 @@
+/* IE<9 does not have Array.indexOf , needed for amber */
+if (!Array.prototype.indexOf) {
+  Array.prototype.indexOf = function(elt /*, from*/)
+  {
+    var len = this.length >>> 0;
+
+    var from = Number(arguments[1]) || 0;
+    from = (from < 0)
+         ? Math.ceil(from)
+         : Math.floor(from);
+    if (from < 0)
+      from += len;
+
+    for (; from < len; from++)
+    {
+      if (from in this &&
+          this[from] === elt)
+        return from;
+    }
+    return -1;
+  };
+}