Javascript Intl.DateTimeFormat.format()在边缘浏览器中失败?

Javascript Intl.DateTimeFormat.format()在边缘浏览器中失败?,javascript,microsoft-edge,Javascript,Microsoft Edge,这可能不太可能,但是否有其他人看到Edge在Windows 10上最新版本的Edge(41.16299.248.0)中从控制台运行new Intl.DateTimeFormat().format()时抛出一般错误?到目前为止,我只能在一个特定用户的机器上复制。 它只给出了一个SCRIPT65535错误 所以我最终找到了原因并想出了解决办法。 windows论坛上的一位用户发布了此相关问题,并在edge用于格式化日期的windows系统dll中发现了根本原因: 本质上,它是由注册表值引起的,注册表

这可能不太可能,但是否有其他人看到Edge在Windows 10上最新版本的Edge(41.16299.248.0)中从控制台运行
new Intl.DateTimeFormat().format()
时抛出一般错误?到目前为止,我只能在一个特定用户的机器上复制。 它只给出了一个
SCRIPT65535
错误


所以我最终找到了原因并想出了解决办法。 windows论坛上的一位用户发布了此相关问题,并在edge用于格式化日期的windows系统dll中发现了根本原因:

本质上,它是由注册表值引起的,注册表值本应在windows更新期间删除,但在某些系统上它仍然存在,因此函数会抛出。为了验证原因是否相同,我删除了受影响系统上的此注册表值(这是一个过时的时区),并修复了该问题:

HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion\Time Zones\Armenian Standard Time
很明显,我不想强迫我的用户更新他们的注册表,所以当我的应用程序启动时,如果
Intl
api的那部分在浏览器中被破坏,我会重新填充它:

//如果调用失败,则仅使用polyfill DateTimeFormat
试一试{
新的Intl.DateTimeFormat().format();
}捕获(错误){
Object.defineProperty(Intl,“DateTimeFormat”{
值:DateTimeFormatPolyfill,
});
}

Hi,你有这方面的最新消息吗?或者可能的解决办法?在多个用户的机器上出现相同的问题,所有机器都从win7升级到win10,版本相同,但其中1/3失败。重新安装EDGE软件包,尝试不同的用户配置文件,或者尝试在SysApps中修复EDGE都没有帮助。@Crudalium我添加了一个答案,最后我找到了答案,谢谢,告诉了客户同样的问题,问题也是一样的,并且得到了解决。一旦有可能,我们还将制作polyfill。