2017-03-18 25 views
0

ブラウザーサポートes6のチェックにModernizrを使用するサイトがあります。IE 11、ModernizrおよびSCRIPT1002構文エラー

私はこのスクリプトを持っている:IE11では

if (Modernizr.es6number) { 
     Object.keys(objFiltri).map(key => objGrid_CustomFilter.perQuery[key] = objFiltri[key]); 
    } else { 
     labelsPrint.map(function (key) { objGrid_CustomFilter.perQuery[key] = objFiltri[key] }); 
    } 

偽コード

Modernizr.es6number 

リターンが、ES6方法を認識しないので、IEは私にエラー(SCRIPT1002間違った構文)を得ました。地図。

私の質問は、ある IFリターンFALSE、もしIEがTRUEケースを通過なぜですか? どうすればそれを避けることができますか?

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

+0

はES6構文はすべてのブラウザで返信用 –

+0

感謝を受け入れる書くためにあなたのコード内でバベルのJSが含まれるIE 11に矢印の機能を使用することはできませんが、私はjsの他のファイルや他の何かを含めることはできません。 : – Hikari

+0

es6の構文はIE 11ではまだ認識されていないと思いますが、polyfillを使用するにはbabeljsを使用してください。 –

答えて

1

まず最初に、コードはES6サポートをチェックしていないため、1つの機能のサポートを確認します。

さらに重要なのは、あなたは矢印の関数を定義し、IEは矢印の機能をサポートしていません。全体(!)コードは、実行される前に解析されます。 IEはそれがModernizr.es6numberをチェックする時点まで到達しません。

あなたは、ブラウザでサポートされていない構文を使用することはできません。あなたは

関連する問題