原始发布日期: 2026 年 6 月 18 日
KB ID:5105752
症状
从多个脚本加载或通过 polyfills 提供的 JScript 全局定义和执行上下文在每个脚本完成运行后可能不会保留。 因此,某些在早期版本的 Windows 中工作的脚本可能会在 Windows 11 版本 24H2 及更高版本中失败。
原因
jscript9legacy.dll 是 Windows 操作系统中使用的动态链接库, (DLL) 文件,尤其是用于运行 JScript 代码。 从 Windows 11 版本 24H2 开始,此 DLL 是一个较新的版本,它替换了旧 jscript9.dll 以解决各种漏洞并提高安全性。
较旧的 jscript9.dll 会自动保留全局定义和上下文,因此从多个脚本加载的函数仍然可访问。 在 jscript9legacy.dll中,默认情况下不会保留执行上下文。 一个脚本中定义的函数在执行后将被丢弃,脚本的其余部分无法访问。
解决方法
此问题在 2026 年 2 月 24 日和之后发布的 Windows 更新中得到解决, (KB5077241) 。 但是,用于解决问题的功能默认处于禁用状态。 若要启用持久性 JScript 执行上下文,请执行以下步骤。
重要: 本文包含有关如何修改注册表的信息。 确保先备份注册表,然后再对其进行修改。 请务必了解在出现问题时如何还原注册表。 有关如何备份和还原注册表的详细信息,请参阅 如何备份和还原 Windows 中的注册表。
-
运行以下命令以创建功能控件注册表项:
reg add“HKLM\Software\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ENABLE_PERSISTENCE”
-
在此键下, (32 位) 值创建新的 DWORD。
-
按如下所示配置值:
-
若要仅针对特定进程启用持久性,请执行: 将每个目标进程名称的值设置为 1。
-
若要为所有进程启用持久性,请执行: 添加 * 作为键名称,并将其值设置为 1。
-