2009-09-02 6 views
1

IE 8で以下のエラーが表示されています。スクリプトは、私がテストしたすべてのブラウザ(chrome、ff、safari)でうまく動作します。私は間違って何をしていますか?jQueryプラグインでIEスクリプトエラーが発生しました

エラー:

メッセージ:オブジェクトはこのプロパティまたはメソッドをサポートしていません ライン:52 文字:29 コード:0 URI:http://www.ntierdesign.com/jquery/livetwitter/Scripts/jquery.liveTwitter.js

メッセージ:オブジェクトがサポートしていません。このプロパティまたはメソッド ライン:1 文字:1 コード:0 URI:http://twitter.com/status/user_timeline/bloomsdayreg.json?count=3&callback=jsonp1251868075768&_=1251868075882

例:

うまくいけば、私は速すぎて私のTwitter APIのレート制限を行うキャップはありませんが、あなたはここに http://ntierdesign.com/jquery/livetwitter/

答えて

2

バージョンのため、このエラーが発生しているページの例を見ることができますあなたが使用しているIEは、JavaScript 1.6で導入されたArray/indexOfを実装していません。

ただし、存在しない場合は、互換性のためにArrayOfメソッドをArrayプロトタイプに追加できます。

これはFirefoxが内部で使用する実装です:互換機能を追加したページのIE this example

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; 
    }; 
} 

チェックは、問題なく動作します...直接ラインに

+0

おかげでCMSが、私はjavascriptのDEVの多くを行っていないが、私は私が前にそれに遭遇したことがないということは本当に驚いて。 – NATO24

+0

あなたは@ntierdesignを歓迎しています...クロスブラウザスクリプティングの奇妙な世界へようこそ。:-) – CMS

0

エラーポイント52、char 29、これは配列の.indexOfメソッドです。

このメソッドはではありません。はIEのjavascriptに実装されています。したがって、エラーです。

幸いにも、ウェブ上には沢山の回避策があります。 link text

+0

Kenさん、ありがとうございました。 – NATO24

0

名前を再検討したいと思うかもしれませんが、私はすでに同様のプラグインをリリースしています。 :)

http://github.com/elektronaut/jquery.livetwitter/tree/master

+0

ニースの作業員です。心配しなくても、公共の消費のためではありません。私はそれをプラグインにしただけなので、もっと学ぶことができた。 – NATO24

関連する問題