2016-04-26 30 views
3

私は単一のページReact.js Webアプリケーションを構築するためにbabel 6.7を使用しています。関連するすべてのポリフィルを含めるようにしました。 babel-polyfillを使用して、ES5ブラウザと互換性を持たせます。それでも、私はほとんどIE10 +を実行しているWindows 7 & 8.1上のユーザーからこのオブジェクトはプロパティまたはメソッド 'jscomp_symbol_iterator0'をサポートしていません

Object doesn't support property or method 'jscomp_symbol_iterator0' 

のように、すべての今、もう一度javascriptのエラーが表示されます。

私はそれがjs Symbol.iteratorとは何かをサポートしていないと想定しています。古いブラウザでこれをポリフィルする方法はありますか?

ありがとうございます!

+0

は最新のバーベルですか?私はこれに関する問題を見ていますが、彼らは古いです –

+0

はい、私はちょうどすべての最新バージョンのbabelとすべての最新のプラグインとpolyfillsに更新しました。あなたが見つけた問題を私に見せてもらえますか?私はその話題について何かを見つけるのは苦労しました。 –

答えて

0

あなたは実行するには、次の二つのモジュールを必要とする必要があります。私の場合は

require('core-js/es6/object'); 
require('core-js/es6/map'); 
1

エラー:

Object doesn't support property or method 'Symbol.iterator'

forループのES6構文に関連する特定の行を指摘しました。つまり、私はこれでした:

for(let el of document.getElementsByClassName('especial-els')) { /* ... */ } 

をそして、私はそれを修正するために行うために必要なすべてが「古いスタイル」ループにこのループを変えた:

let especialEls = document.getElementsByClassName('especial-els'); 
for(let i = specialEls.length - 1; i >= 0; i--) { /* ... */ } 

このエラーは、エッジのブラウザで発生しました(ChromeではなくFirefoxではない)、特にこのfor(let i of iterator)ループ(私はこの種の他のループが配列を反復しているので、エラーは表示されません)でのみです。私の推測では、document.getElementsByClassName()は "特別な"イテレータを返します。

関連する問題