Problèmes d'émulation du contrôle du navigateur Web avec FEATURE_BROWSER_EMULATION
Description du problème :
Lors de l'utilisation du Web Contrôle du navigateur dans Visual Studio 2013, la définition de la clé de registre FEATURE_BROWSER_EMULATION pour l'application sur les valeurs d'émulation IE10 ou IE11 entraîne un dysfonctionnement du contrôle. Plus précisément, le sélecteur de date de mois sur une page de démonstration de Dojo Toolkit (http://demos.dojotoolkit.org/demos/calendar/demo.html) ne fonctionne pas correctement.
Solution :
Le problème réside dans le paramètre de registre FEATURE_NINPUT_LEGACY_MODE. La désactivation de ce paramètre, ainsi que l'activation d'autres fonctionnalités via la configuration du registre, résout le problème. Voici une solution révisée :
const int POLL_DELAY = 250; WebBrowser _webBrowser; // set WebBrowser features, more info: http://stackoverflow.com/a/18333982/1768303 static void SetWebBrowserFeatures() { // don't change the registry if running in-proc inside Visual Studio if (LicenseManager.UsageMode != LicenseUsageMode.Runtime) return; var appName = System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName); var featureControlRegKey = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\"; Registry.SetValue(featureControlRegKey + "FEATURE_BROWSER_EMULATION", appName, GetBrowserEmulationMode(), RegistryValueKind.DWord); // enable the features which are "On" for the full Internet Explorer browser Registry.SetValue(featureControlRegKey + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION", appName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_AJAX_CONNECTIONEVENTS", appName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_GPU_RENDERING", appName, 1, RegistryValueKind.DWord); Registry.SetValue(featureControlRegKey + "FEATURE_WEBOC_DOCUMENT_ZOOM", appName, 1, RegistryValueKind.DWord); // Disable FEATURE_NINPUT_LEGACY_MODE Registry.SetValue(featureControlRegKey + "FEATURE_NINPUT_LEGACYMODE", appName, 0, RegistryValueKind.DWord); }
Avec cette configuration mise à jour, le contrôle du navigateur Web devrait désormais fonctionner correctement avec les paramètres d'émulation IE10 et IE11 pour l'application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!