我正在使用Javascript编写搜索功能,这几乎已经完成并且在Chrome上工作正常,但在资源管理器中却没有。我使用了explorer开发人员工具,它告诉我这是它无法处理的行:
if (compareElement.indexOf(compareString)!== -1 &&
processFindings.indexOf(processes[i]) === -1)
错误是Object不支持此属性或方法。
用于阅读的行:
if(compareElement.indexOf(compareString)!== -1)
它工作正常,只有当我添加了探险家无法处理它的额外条件时。
任何人都可以帮我吗?
答案 0 :(得分:2)
并非所有版本的IE都有。indexOf()
数组方法。虽然它有一个填充剂,但效果很好。
见这里: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
这可能会导致代码无法正确迭代数组的问题。
答案 1 :(得分:0)
您可以复制该方法(如果它不存在),但使用原型将要求它在任何调用之前存在。一个例子:
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(searchElement,fromIndex) {
fromIndex = parseInt(fromIndex || 0);
for (var i = 0; i < this.length; i++) {
if (this[i] == searchElement) return i;
}
return -1;
}
}