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