IE7支持JavaScript的indexOf吗?

10

可能重复:
.indexOf 函数在IE7/8中使用JavaScript不起作用

我正在开发IE7,使用javascript函数indexOf时遇到了一些问题。

在浏览了一些网站后,我了解到IE7不支持indexOf函数。这是否正确,如果是,有什么最简单的方法来检查一个字符串是否包含一个给定的字符串?

var test = window.location.toString();
test = test.toLowerCase();
var idString = "28A3CASDGAGHTSDASF34134";
idString = idString.toLowerCase();
if(test.indexOf(idString) > 0){
  alert('worked');
}

编辑: 很可能是我自己的编码错误


1
打开IE7,输入“javascript:mystring.indexOf(“some string”)”在URL栏中,按回车键并展示发生了什么。 - codymanix
可能他没有访问IE7的权限。 - MacAnthony
嗯...我正在尝试它,但似乎不支持。仍然需要一种简单的方法来执行indexOf.. - matskn
“一些网站”是什么?我很确定它们是错误的。你实际的问题是什么?也就是说,当你尝试时会发生什么? - Lightness Races in Orbit
我正在尝试执行alert('message to show it occured')。在Firefox中运行良好,但在IE7中没有警报。 - matskn
1个回答

19
据我所知,Array.indexOf不被支持,但是根据你上面的示例,String.indexOf是被支持的。
解决类似这样的问题,最好的方法是在你正在查询的浏览器中尝试它们。这比询问其他人要可靠得多,因为人们的浏览器配置不同。
更新:请参考这个MSDN文档页面关于indexOf的内容,自IE6以来就已经支持了。

嗯,我正在尝试使用字符串。 - matskn
我非常确定这是一个区分大小写的方法,你的大小写匹配吗?如果有问题,你可以在执行“indexOf”之前将两个字符串都转换为小写。 - Rudi Visser
尝试测试了一下,不是问题 :-/ - matskn
1
你有收到任何错误吗?它应该可以正常工作,我已经在我的答案中更新了一个来自 MSDN 的页面。也许是因为你使用了 If 而不是 if - Rudi Visser
你尝试过使用 alert(test.indexOf(idString)); 进行调试吗?如果没有报错(希望如此),那么这个函数是存在的。 - Rudi Visser
indexOf 工作了。这是我的错误 :$ - matskn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接