问题描述
我正在尝试使用全局Intl
构造函数来格式化带有货币的值。但是似乎currencydisplay:'narrowSymbol'
不受支持,并且可以在Safari中使用,但在Chrome中可以正常使用。
控制台中返回以下错误:RangeError: currencydisplay must be either "code","symbol",or "name"
解决方法
似乎这种不兼容性未在犬或MDN上列出。今天才看。我确实看到ECMAScript 2020国际化API(https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-402.pdf)支持narrowSymbol
,但是我不确定哪个浏览器已经实现了。
我们的测试人员提到了Safari桌面和移动设备以及iOS上的Chrome中的问题。我将currencyDisplay
选项更新为symbol
,它看上去与以前的方法几乎相同。我建议暂时使用该选项,以使其在更多浏览器中运行。
将这种不兼容性与MDN以及MDN添加在一起也很好,因此像我这样的人不会选择更理想的窄符号样式来节省空间,只是发现它在大部分浏览器中都不起作用。