旧版浏览器无法识别 javascript 中的 `
older browsers won't recognize ` in javascript
我正在构建一个带有 Foundation 范围滑块的计算器。它在 Safari 9、最新的 Chrome 和 Firefox 中工作正常,适用于 Mac 和 Windows,Edge 14。但它在 Safari 8 或 IE 11 中不起作用。在 Safari 8 中,我看到一个错误 SyntaxError: Invalid character: '`'
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);
}
});
如果我将 ` 更改为 ',它在任何浏览器中都不起作用。有人知道吗?谢谢!
如果你必须支持旧的浏览器,你唯一真正的选择就是不使用模板文字。它是 JavaScript 中的一项相对较新的功能,因此较旧的浏览器将无法理解如何解释它。
这里是 link 文档,显示它的支持:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
您可以随时返回 "old fashioned way":
这个
`${movement}%`
变成这样:
movement + "%"
我正在构建一个带有 Foundation 范围滑块的计算器。它在 Safari 9、最新的 Chrome 和 Firefox 中工作正常,适用于 Mac 和 Windows,Edge 14。但它在 Safari 8 或 IE 11 中不起作用。在 Safari 8 中,我看到一个错误 SyntaxError: Invalid character: '`' 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);
}
});
如果我将 ` 更改为 ',它在任何浏览器中都不起作用。有人知道吗?谢谢!
如果你必须支持旧的浏览器,你唯一真正的选择就是不使用模板文字。它是 JavaScript 中的一项相对较新的功能,因此较旧的浏览器将无法理解如何解释它。
这里是 link 文档,显示它的支持:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
您可以随时返回 "old fashioned way":
这个
`${movement}%`
变成这样:
movement + "%"