边缘 15 中的"Intl not available"



当我的脚本在Edge 15中运行以下代码时,我在JS控制台中看到了Intl not available错误:

new Date().toLocaleDateString()

我对此有些困惑。它在Edge 14中的工作正常,我找不到对国际化API突然从Edge 15消失的参考。

我不确定这是否是测试它的正确方法,但是控制台中运行window.hasOwnProperty("Intl")实际上返回true。对我来说,这似乎表明intl实际上是。

任何具有更多JS技能的人都能告诉这里发生了什么?

确保您的JS代码未重新定义标准Map类。

我们遇到了几乎相同的问题,但是使用Intl.Collator对象。因此,我们无法使用String.prototype.localeCompare("...", "locale")

您可以在Edge 15和其他浏览器中查看此编码器以进行说明:https://codepen.io/kgorob/pen/pweawv。

P.S。我不确定您的问题是因为Map课程特别是您正在重新定义的其他标准JS课程。

问题是因为Chakracore代码中的这些行。Intl.js是JavaScript文件,用于执行各种国际化操作。由于使用Map,因此在Intl.js代码执行(懒惰地执行(之前对其进行了过度编写,这会导致问题。这应该很快解决。

正如KSP的答案所说,这是由INTL懒惰加载后的地图覆盖。因此,最简单的解决方法是在其他脚本运行之前将其迫使它早点初始化:

<html>
  <head>
  <script>Intl.DateTimeFormat</script>
  ...

这是脉轮仓库中的问题:https://github.com/microsoft/chakracore/chakracore/issues/3189

相关内容

  • 没有找到相关文章

最新更新