Javascript 我的jQuery插件出现IE脚本错误

Javascript 我的jQuery插件出现IE脚本错误,javascript,jquery,jquery-plugins,twitter,Javascript,Jquery,Jquery Plugins,Twitter,我似乎不知道我在IE8中遇到了以下错误(到目前为止我只测试过IE版本)。该脚本在我测试过的所有其他浏览器(chrome、ff、safari)中运行良好。我做错了什么 错误: 消息:对象不支持此属性或方法 电话号码:52 字符:29 代码:0 URI: 消息:对象不支持此属性或方法 行:1 字符:1 代码:0 URI: 示例: 希望我不会太快限制我的twitter api速率限制,但您可以在这里查看页面示例 您出现此错误是因为您正在使用的IE版本未实现中介绍的IE版本 但是,为了兼容性,如果不存在

我似乎不知道我在IE8中遇到了以下错误(到目前为止我只测试过IE版本)。该脚本在我测试过的所有其他浏览器(chrome、ff、safari)中运行良好。我做错了什么

错误:

消息:对象不支持此属性或方法 电话号码:52 字符:29 代码:0 URI:

消息:对象不支持此属性或方法 行:1 字符:1 代码:0 URI:

示例:

希望我不会太快限制我的twitter api速率限制,但您可以在这里查看页面示例
您出现此错误是因为您正在使用的IE版本未实现中介绍的IE版本

但是,为了兼容性,如果不存在indexOf方法,可以将其添加到数组原型中

这是Firefox内部使用的实现:

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;
  };
}
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(elt/*,from*/){
var len=this.length>>>0;
var from=Number(参数[1])| | 0;
from=(from<0)
?数学单元(来自)
:数学。地板(从);
如果(从<0开始)
from+=len;
for(;from

使用页面的IE进行检查,添加了兼容性功能,运行时没有问题…

错误直接指向第52行,char 29,这是数组上的.indexOf方法

这个方法没有在IE的javascript上实现——因此出现了错误


幸运的是,web上有大量的变通方法,例如,

刚刚注意到,如果您想使用本机jQuery方法,可以在utilities类中使用inArray函数。

您可能需要重新考虑这个名称,我已经发布了一个类似的插件。:)


谢谢CMS,我没有做过很多javascript开发,但我真的很惊讶我以前从未遇到过这种情况。欢迎@ntierdesign。。。欢迎来到跨浏览器脚本的奇怪世界…:-)干得好elektronaut。不用担心,这不是真正的公共消费。我只做了一个插件,所以我可以学到更多。