首页 > 后端开发 > C++ > 正文

为什么将 FEATURE_BROWSER_EMULATION 设置为 IE10 或 IE11 会导致 Web 浏览器控制故障?

Mary-Kate Olsen
发布: 2024-11-01 01:33:02
原创
771 人浏览过

Why Does Setting FEATURE_BROWSER_EMULATION to IE10 or IE11 Cause Web Browser Control Malfunction?

使用 FEATURE_BROWSER_EMULATION 调查 Web 浏览器控件模拟问题

上下文

Web 浏览器控件在应用程序中使用时,通常需要特定的兼容性设置来支持网页内容的呈现。 FEATURE_BROWSER_EMULATION 是一个注册表设置,允许开发人员控制 Web 浏览器控件使用的浏览器模式。但是,为此功能设置的某些值可能会导致仿真问题。

问题

用户遇到了将 FEATURE_BROWSER_EMULATION 设置为 IE10 或 IE11 值导致 Web 浏览器控件出现故障的情况。具体来说,Dojo Toolkit 日历演示站点上的月份日期选择器停止运行。在没有任何 FEATURE_BROWSER_EMULATION 设置或设置为 IE9 仿真时,该控件可以正常工作。

解决方案

通过禁用 FEATURE_NINPUT_LEGACY_MODE 注册表设置以及 WebBrowser 控件的优化和增强,解决了该问题。以下是已实施更改的详细检查:

  1. 禁用 FEATURE_NINPUT_LEGACY_MODE:默认情况下,启用此设置,但禁用它可确保 Web 浏览器控件中支持 NINPUT API。
  2. 启用 CLIPCHILDREN 和 GPU_RENDERING:这些设置通过允许浏览器控件使用加速渲染和剪辑来增强性能。开发人员必须平衡这些功能与潜在的兼容性问题。
  3. 启用 AJAX_CONNECTIONEVENTS 和 WEBOC_DOCUMENT_ZOOM:这些设置分别增强 Web 应用程序响应能力并允许动态调整网页大小。

以下代码示例演示了如何在 C# 中设置这些注册表值:

<code class="c#">const string FEATURE_BROWSER_EMULATION = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\";
        
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_BROWSER_EMULATION", appName, GetBrowserEmulationMode(), RegistryValueKind.DWord);
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION", appName, 1, RegistryValueKind.DWord);
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_AJAX_CONNECTIONEVENTS", appName, 1, RegistryValueKind.DWord);
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_GPU_RENDERING", appName, 1, RegistryValueKind.DWord);
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_WEBOC_DOCUMENT_ZOOM", appName, 1, RegistryValueKind.DWord);
Registry.SetValue(FEATURE_BROWSER_EMULATION + "FEATURE_NINPUT_LEGACYMODE", appName, 0, RegistryValueKind.DWord);</code>
登录后复制

以上是为什么将 FEATURE_BROWSER_EMULATION 设置为 IE10 或 IE11 会导致 Web 浏览器控制故障?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!