在macOS High Sierra的Chrome Version 65.0.3325.146
中,CSSStyleSheet是否将区域设置应用于其值?以下html重现错误。它为俄语系统区域设置打印错误的输出,其中“,”用作小数分隔符。
<script>
var el = document.createElement('style');
el.innerHTML = '.someclass {font-size: 3.5rem; line-height: 1.5rem;}';
document.head.appendChild(el);
console.log(el.sheet.cssRules[0].style.cssText);
</script>
输出结果为:
font-size: 3,5rem; line-height: 1,5rem;
预期产出:
font-size: 3.5rem; line-height: 1.5rem;
有问题的屏幕截图(在浏览器控制台中检查):
答案 0 :(得分:0)
这里真的很奇怪。
从~/.profile
注释掉以下字符串并重新启动Chrome后出现问题:
export LC_NUMERIC=ru_RU.UTF-8
export LC_TIME=ru_RU.UTF-8
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY=ru_RU.UTF-8
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER=ru_RU.UTF-8
export LC_NAME=ru_RU.UTF-8
export LC_ADDRESS=ru_RU.UTF-8
export LC_TELEPHONE=ru_RU.UTF-8
export LC_MEASUREMENT=ru_RU.UTF-8
export LC_IDENTIFICATION=ru_RU.UTF-8
export LC_ALL=
但在我将字符串取消注释后 - 问题不再发生了。试过Chrome&amp;系统重启。
在评论字符串之前,Chrome重启并没有帮助解决问题。可能只是系统重启可以解决问题(没有尝试过):)
UPD :终于找到了,如何重现问题 - 必须使用这些变量集(LC_NUMERIC,...)从终端(命令行)启动Chrome。