【问题标题】:Has Chrome stopped supporting Intl function?Chrome 是否停止支持 Intl 功能?
【发布时间】:2021-10-09 06:51:02
【问题描述】:

我使用的是 chrome 浏览器(版本 92.0.4515.131)。

我发现 Chrome 浏览器对 JavaScript Intl 的支持无法正常运行。

const formattedDate = new Intl.DateTimeFormat('nb-NO', {
  "year": "numeric",
  "month": "2-digit",
  "day": "2-digit"
}).format(new Date('2021-08-02'));

console.log(formattedDate);

因此,Chrome 会给出“08/02/2021”,而不是 Firefox 中预期的“02.08.2021”。

JavaScript 功能在ECMAMDN 中定义,用于浏览器兼容性。

为了在 Chrome 中正常工作,我们需要添加任何修改吗?

【问题讨论】:

  • “Chrome 不是”——您需要告诉我们您得到的行为以及您期望的行为。
  • 上述代码 sn-p 的预期行为是 -"02.08.2021" 但 chrome 返回的是 -"08/02/2021"
  • 通过搜索 can I use caniuse.com/?search=Intl 似乎 chrome 仍然支持它,所以您必须解释输出是什么以及您尝试了什么
  • @Seren 我已经在 chrome 浏览器控制台中尝试了上面的代码 sn-p,它给了我“08/02/2021”的输出,但预期返回的是“02.08. 2021"

标签: javascript google-chrome ecmascript-intl


【解决方案1】:

这似乎是铬的问题:https://bugs.chromium.org/p/chromium/issues/detail?id=1233509&q=locale&can=2

希望尽快解决。

【讨论】:

    【解决方案2】:

    Intl.ListFormat.supportedLocalesOf()

    当我在 Chrome 和 Firefox 中运行 Intl.ListFormat.supportedLocalesOf(['en', 'de', 'nb']) 时:

    • Chrome 报告它支持英语和德语
    • Firefox 报告说它支持英语、德语和挪威语

    问题不在于缺少对 Intl 的支持(如果不支持会引发错误),而是特别是 nb-NO 语言环境。

    【讨论】:

    • 是的,当时 chrome 似乎不支持“nb”。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2018-09-21
    • 2013-09-16
    • 2013-09-25
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2015-04-16
    相关资源
    最近更新 更多