浏览代码

Patch to add the support of indexOf for IE8.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2568 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 12 年之前
父节点
当前提交
c6052ed327
共有 1 个文件被更改,包括 34 次插入0 次删除
  1. 34 0
      js/utils.js

+ 34 - 0
js/utils.js

@@ -1,4 +1,38 @@
 // Some general purpose JS functions for the iTop application
+
+//IE 8 compatibility, copied from: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/IndexOf
+if (!Array.prototype.indexOf) {
+	Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
+    	"use strict";
+        if (this == null) {
+        	throw new TypeError();
+        }
+        var t = Object(this);
+        var len = t.length >>> 0;
+        if (len === 0) {
+        	return -1;
+        }
+        var n = 0;
+        if (arguments.length > 1) {
+        	n = Number(arguments[1]);
+            if (n != n) { // shortcut for verifying if it's NaN
+            	n = 0;
+            } else if (n != 0 && n != Infinity && n != -Infinity) {
+            	n = (n > 0 || -1) * Math.floor(Math.abs(n));
+            }
+        }
+        if (n >= len) {
+        	return -1;
+        }
+        var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
+        for (; k < len; k++) {
+        	if (k in t && t[k] === searchElement) {
+            	return k;
+            }
+        }
+        return -1;
+    }
+}
 /**
  * Reload a truncated list
  */