网页可能无法在 Internet Explorer 9 中获得焦点
警告
已停用、不受支持的 Internet Explorer 11 桌面应用程序在某些版本的 Windows 10 上已通过 Microsoft Edge 更新永久禁用。 有关详细信息,请参阅 Internet Explorer 11 桌面应用停用常见问题解答。
本文提供有关解决 Internet Explorer 9 中无法集中注意力的网页问题的信息。
原始产品版本: Internet Explorer 9
原始 KB 编号: 2600156
症状
使用 Internet Explorer 9 查看时,网页中托管的网页或 ActiveX 控件可能会间歇性地停止接收焦点。 当用户单击页面以尝试获取焦点时,控件可能显示为禁用,或者焦点可能最终出现在地址栏中。 此问题可能会影响页面上能够接收焦点的任何 UI 元素。
原因
出现此问题的原因是选项卡窗口与框架窗口的输入队列分离。 Microsoft 已确认,这是 Internet Explorer 9 中与挂起抵抗功能工作原理相关的问题。
解决方案
Internet Explorer 累积更新 MS11-099 (KB 2618444) 或任何 Internet Explorer 累积更新中提供了此问题的修补程序。
有几种方法可以解决此问题:
避免在可能会干扰线程的消息泵的 UI 线程上进行长时间运行的阻塞调用或执行任何同步工作。
创建以下注册表项值以禁用“挂起抵抗”功能:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\ Type: REG_DWORD Name: HangRecovery Value: 0
Internet Explorer 9 中默认启用“挂起抵抗”功能。 将
HangRecovery
值设置为0
将禁用此功能;将其设置为1
启用此功能。避免调用 AttachThreadInput 或其他可能导致更改选项卡窗口所有者的 API,因为这些 API 会影响选项卡线程的输入队列。 SetWindowLong 是一个 API 示例,该 API 最终可能会更改 Tab 线程的输入队列。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈