2016-08-12 6 views
1

私は財団の範囲スライダ付きの電卓を構築しています。それはSafari 9、MacとWindows、Edge 14の最新のChromeとFirefoxでうまくいきますが、Safari 8やIE 11では機能しません。Safari 8ではエラーが表示されますSyntaxError:無効な文字: '' ' javascriptのコードは次のようになります。私は `は「に変更した場合は古いブラウザでは `javascriptで認識されません

Foundation.Move(moveTime, $hndl, function() { 
    //adjusting the left/top property of the handle, based on the percentage calculated above 
    $hndl.css(lOrT, `${movement}%`); 

    if (!_this.options.doubleSided) { 
    //if single-handled, a simple method to expand the fill bar 
    _this.$fill.css(hOrW, `${pctOfBar * 100}%`); 
    } else { 
    //otherwise, use the css object we created above 
    _this.$fill.css(css); 
    } 
}); 

、それは任意のブラウザでは動作しません。誰もが考えている?ありがとう!

+0

もちろん、ES2015は古いブラウザでは動作しません。新しいブラウザでは動作しにくく、テンプレート文字列はES2015の機能です。 – adeneo

+0

JavaScriptを使用するためにBabelを使用https://babeljs.io/ – OregonTrail

答えて

3

古いブラウザをサポートする必要がある場合は、テンプレートリテラルを使用しないほうが唯一の選択肢です。これはJavaScriptの比較的新しい機能なので、古いブラウザはその解釈方法を理解できません。ここで、それはサポートのショーのドキュメントへのリンク

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

あなたは常に "昔ながらの方法" にバックアップすることができます。

この

`${movement}%` 

これになります:

movement + "%" 
+0

ありがとうKevin!私はスライダでいくつかのカスタマイズをしなければならなかったので、基本的にFoundationのスライダプラグインから関数をコピーしました。私はテンプレートリテラルを自分で使ったことはありません。それは今、完璧に動作します。 – DimSum

+0

うれしい私は助けることができました! – kemiller2002

関連する問題