/ / Windows.Forms.WebBrowser Control n'utilise pas le mode Document approprié - c #, .net, webbrowser-control

Le contrôle Windows.Forms.WebBrowser n'utilise pas le mode de document approprié - c #, .net, contrôle de navigateur

J'ai un contrôle WebBrowser dans une application Windows Forms standard.

IE11 est installé sur la machine sur laquelle il s'exécute.

Wbr étant une instance du contrôle WebBrowser, wbr.Version.Major renvoie 11 signifiant qu'il utilise IE11.

Lorsque vous pointez sur une page Web avec le texte suivant en haut du document:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

L'appel de document.documentMode dans le Javascript renvoie "8".

Cela signifie que la page est rendue en mode document IE8 (et se reflète dans la sortie, les propriétés CSS3 ne sont pas rendues correctement).

J'ai également défini le mode d'émulation du navigateur dans le registre sur 11001 et 11000 pour l'application sans effet apparent. (Voir http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation)

Quelqu'un peut-il nous expliquer pourquoi le contrôle IE11 WebBrowser définit le mode document sur 8 malgré la définition du doctype et de la balise meta?

Merci

Réponses:

1 pour la réponse № 1

Bien que je ne sais pas pourquoi avoir le doctype etle jeu de balises meta empêche toujours le contrôle WebBrowser de s'exécuter en mode IE11, la raison pour laquelle le hack de registre n'a pas fonctionné est due à la différence entre les registres 32 bits et 64 bits.

Si vous modifiez le registre pour une application 32 bits, les entrées de registre de ces applications se trouvent dans une abstraction de répertoire supplémentaire appelée Wow6432Node.

C'est là que le changement de registre doit être effectué.