我似乎无法弄清楚我在IE 8中遇到以下错误(到目前为止我只测试了IE版本)。该脚本在我测试过的所有(chrome,ff,safari)其他浏览器中运行良好。我做错了什么?
错误:
消息:对象不支持此属性或方法 行:52 查尔:29 代码:0 URI:http://www.ntierdesign.com/jquery/livetwitter/Scripts/jquery.liveTwitter.js
消息:对象不支持此属性或方法 线:1 Char:1 代码:0 URI:http://twitter.com/status/user_timeline/bloomsdayreg.json?count=3&callback=jsonp1251868075768&_=1251868075882
示例:
希望我不会过快地限制我的Twitter api速率限制,但您可以在此处查看该页面的示例 http://ntierdesign.com/jquery/livetwitter/
答案 0 :(得分:2)
您遇到此错误,因为您使用的IE版本未实现Array/indexOf中引入的JavaScript 1.6。
但是,为了兼容性,您可以将indexOf方法添加到Array原型(如果它不存在)。
这是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;
};
}
检查页面的IE this example,添加兼容性功能,运行没有问题......
答案 1 :(得分:0)
答案 2 :(得分:0)
注意,如果要使用本机jQuery方法,可以在实用程序类中使用inArray函数。 jQuery inArray Documentation
答案 3 :(得分:0)
您可能想重新考虑该名称,我已经发布了类似的插件。 :)
http://github.com/elektronaut/jquery.livetwitter/tree/master