Edge 41版本中运行Intl.DateTimeFormat.format()报SCRIPT65535错误求助
关于Edge 41.16299.248.0执行
new Intl.DateTimeFormat().format()抛出SCRIPT65535错误的问题 我确实碰到过其他开发者反馈类似的情况,这个问题主要集中在你提到的Edge Legacy版本41.16299.248.0搭配Windows 10的环境中,而且往往是特定设备才会出现,大概率和系统或浏览器的本地化配置异常有关。
可能的原因及排查方向:
- 系统区域设置损坏:Windows 10的区域格式配置如果出现异常,会直接影响Intl API的正常工作,因为
Intl.DateTimeFormat()默认依赖系统当前区域设置。你可以让用户尝试进入「设置 > 时间和语言 > 区域」,切换到其他区域再切回原区域,或者点击「其他日期、时间和区域设置 > 更改日期、时间或数字格式 > 管理 > 复制设置」,勾选「欢迎屏幕和系统账户」后应用。 - Edge浏览器组件损坏:这个旧版本的Edge Legacy偶尔会出现组件缓存或本地化文件损坏的情况。建议用户重置Edge设置:打开Edge菜单 > 设置 > 选择「重置设置」,恢复到默认状态后再测试。
- 缺少关键系统更新:Windows 10的某些累积更新会修复Intl相关的API兼容问题,用户的设备可能遗漏了对应的补丁。可以引导用户检查Windows更新,安装所有可用的累积更新后重启设备。
临时替代方案:
如果暂时无法修复设备环境,可以修改代码避免依赖系统默认区域,手动指定区域参数来绕过这个问题:
// 手动指定区域,比如英文(美国) new Intl.DateTimeFormat('en-US').format(new Date()); // 或者用原生Date方法做基础格式化,避免Intl API function formatDate(date) { return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`; }
内容的提问来源于stack exchange,提问作者Brandon Pugh
相关产品推荐
相关产品推荐

