Web 瀏覽器控制應用程式中使用時,通常需要特定的相容性設定來支持網頁內容的呈現。 FEATURE_BROWSER_EMULATION 是一個註冊表設置,可讓開發人員控制 Web 瀏覽器控制項所使用的瀏覽器模式。但是,為此功能設定的某些值可能會導致模擬問題。
使用者遇到了將 FEATURE_BROWSER_EMULATION 設定為 IE10 或 IE11 值導致 Web 瀏覽器控制項出現故障的情況。具體來說,Dojo Toolkit 日曆示範網站上的月份日期選擇器停止運作。在沒有任何 FEATURE_BROWSER_EMULATION 設定或設定為 IE9 模擬時,該控制項可以正常運作。
透過停用 FEATURE_NINPUT_LEGACY_MODE 註冊表設定以及 WebBrowser 控制項的最佳化和增強,解決了該問題。以下是已實施變更的詳細檢查:
以下程式碼範例示範如何在 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中文網其他相關文章!