2016-12-15 3 views
-2

私はAngularJsアプリケーションを開発しました。このアプリケーションは、Google ChromeのMozilla Firefoxのに完全に正常に動作しているが、私はサファリIE-11でこのアプリケーションをテストするとき。コンソールにエラーが表示されます。SafariとIEのEcmaScriptエラー

私は他のコードスニペットにオープンブートストラップモーダル

$modal.open({ 
    templateUrl: "dummyTemplate.html", 
    controller: "DummyControllerName", 
    controllerAs: "vm", 
    windowClass: 'popupModal', 
    size: 'sm', 
    resolve: { 
     dummyData: function(){ return object; } 
    } 
}).result.then(data => { 

}); 

enter image description here

のために多くの場所で

$rootScope.$on("toastIt", (e, d) => { // <- It show error on this line in IE and Safari 
    toaster.pop(d.type || 'success', d.title, d.text); 
}); 

をこのコードを使用していますように私は、この問題の理由は、単に知っていますEcmaScriptのサポートのためです。 Internet ExplorerとFirefoxはこれをサポートしていません。

この問題を解決し、SafariとIEのAngularJsアプリケーションのサポートを有効にする最良の方法は何ですか?

コードフォーマットを変更するオプションを選択すると、多くの場所があり、あまりにも時間がかかります。それを修正する他の良いオプションはありますか?

+0

正確なエラーとは何ですか? – CodingIntrigue

+0

* "コンソールにエラーが表示されます。" * *** ***エラーは何ですか? –

+0

私はこの問題をScreenshot @ T.J.Crowder – UFFAN

答えて

2

IE11で矢印機能を使用したため、エラーが発生しているようです。実際、IE11は矢印機能やES2015以上のさまざまな部分をサポートしていません。 (最後の数ヶ月からのFirefoxのすべてのバージョンがん。)

ソリューションはtranspile(例えばBabelなど)transpilerとES5コードへのごES2015 +コードにあります。ビルドステップの一環としてこれを行い、蒸解されたES5互換コードを展開します。

もちろん、ターゲットブラウザでサポートされている機能のみを使用することもできます(たとえば、IE11をターゲットにしている場合は矢印機能を使用しないでください)。

0

あなたの決意ラインは}決算が不足している - あなたは、この(関連ではありません削除さのもの)を持っている:

$modal.open({ 
    ... 
    resolve: { 
    smudgedOut: function(){ return response.data 
    } 
}) 

は次のようになります。

$modal.open({ 
    ... 
    resolve: { 
    smudgedOut: function() { return response.data; } 
    } 
}) 

少なくとも、あなたが示されてきたものから、私たちはChromeの開発ツールで、それが問題です。

+0

その欠けている}。その切り抜かれた画像。私は完全なコードを投稿して、エラーメッセージを表示するために画像をポストするだけです。 – UFFAN

+0

@UFFAN:これは面白いトリミングです。 :-)それを削除し、テキストとしてエラーテキストを含めることを提案します。 –

+0

エラースクリーンショットを更新しました。うまくいけば今混乱はないでしょう – UFFAN

関連する問題