2013-05-29 5 views
6

FirefoxとChromeでうまく動作するgzipアルゴリズムのjavascript実装を使用しています。私はforEachのメソッドをサポートすべきは、Internet Explorer 9を使用していJavaScript:Internet Explorerからの対応方法がありません

deflate.deflate(data, level).forEach(function (byte) { 
    putByte(byte, out); 
}); 

Method forEach is not supported!

コード:しかし、Internet Explorerでは、私は、次のエラーを得ました。

アイデア?

ありがとうございました!

+1

forEachはIE8ではサポートされていません。しかし、IE9はそれをサポートする必要があります。 http://kangax.github.io/es5-compat-table/#Array.prototype.forEach –

+2

あなたのページはIEの奇妙なモードで動作していますか? (たぶん偶然)?.forEach()は標準モードでのみサポートされています。 'deflate.deflate()'は常に配列を返しますか? – nnnnnn

+0

組み込みオブジェクトを拡張するのではなく、 'forEach'部分を2行の' for'ループで置き換えることができます。 – RobG

答えて

17

あなたが試みるかもしれないとArray.forEach

一つの例があり、ここで示唆したように、それにforeachメソッドをサポートしていないブラウザのためArrayオブジェクトを拡張:

if (!Array.prototype.forEach) { 
    Array.prototype.forEach = function(fn, scope) { 
     for(var i = 0, len = this.length; i < len; ++i) { 
      fn.call(scope, this[i], i, this); 
     } 
    } 
} 
+0

それはうまくいった!どうもありがとうございました! –

0

のforEachがIE9でサポートされていません、あなたはjqueryを使ってみることができます。
例:

$. each (function (byte) { 
    putByte(byte, out); 
}); 
+2

私はjqueryの使用を避けたいです。 –

関連する問題