2016-08-12 2 views
1

Я строю калькулятор с ползунком диапазона фундамента. Он отлично работает в Safari 9, последнем Chrome и Firefox для Mac и Windows, Edge 14. Но он не работает в Safari 8 или IE 11. В Safari 8 я вижу ошибку SyntaxError: Недопустимый символ: '` Javascript код выглядит следующим образом:старые браузеры не узнают `in 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

Используйте Babel для перевода вашего JavaScript 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

Смежные вопросы