Web ブラウザ コントロールをアプリケーション内で使用する場合、サポートするには特定の互換性設定が必要になることがよくあります。 Web コンテンツのレンダリング。 FEATURE_BROWSER_EMULATION は、開発者が Web ブラウザ コントロールが使用するブラウザ モードを制御できるようにするレジストリ設定です。ただし、この機能に設定された特定の値はエミュレーションの問題を引き起こす可能性があります。
ユーザーは、FEATURE_BROWSER_EMULATION を IE10 または IE11 の値に設定すると、Web ブラウザー コントロールが誤動作する状況に遭遇しました。具体的には、Dojo Toolkit カレンダーのデモ サイトの月の日付ピッカーが機能しなくなりました。 FEATURE_BROWSER_EMULATION 設定なし、または IE9 エミュレーションに設定されている場合、コントロールは正しく動作しました。
この問題は、WebBrowser コントロールの最適化と機能強化とともに FEATURE_NINPUT_LEGACY_MODE レジストリ設定を無効にすることで解決されました。実装された変更の詳細な検査は次のとおりです。
次のコード サンプルは、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 中国語 Web サイトの他の関連記事を参照してください。