Le remplacement .NET de contrôle avec un meilleur navigateur, tels que google Chrome?

Est-il relativement facile pour insérer un navigateur moderne dans un .NET application?

Comme je le comprends, le WebBrowser de contrôle est un wrapper pour IE, qui ne serait pas un problème, sauf qu'on dirait que c'est une très vieille version de IE, avec tout ce que cela implique en termes de CSS vis-ups, les risques potentiels de sécurité (si le moteur de rendu n'était pas corrigée, peut-on vraiment s'attendre à des tas de problèmes de débordement de la mémoire tampon pour être fixé?), et d'autres questions.

Je suis en utilisant Visual Studio C# (express edition - t-il une différence ici?)

Je voudrais intégrer un bon navigateur web dans mes applications. Dans certains, je viens de l'utiliser pour gérer l'inscription de l'utilisateur, l'interface avec certains de mes fonctionnalités du site et d'autres choses de cet ordre, mais j'ai une autre demande à l'esprit que nécessitera plus de euh... de contrôle.

J'ai besoin de:

  • Un navigateur qui permet d'intégrer à l'intérieur d'une fenêtre de mon application (pas une fenêtre séparée)
  • Un bon support pour le CSS, js et autres technologies web, sur pied d'égalité avec n'importe quel navigateur moderne
  • De base les fonctions de votre navigateur comme de "naviguer", "arrière", "reload"...
  • Libéral accès à la page de code et de sortie.

Je pensais à propos de google Chrome, car il est livré sous licence BSD, mais je serais tout aussi heureux avec une version récente d'internet explorer.

Autant que possible, je tiens à garder les choses simples. Le mieux serait si on pouvait patch existant WebBrowser de contrôle, qui fait déjà environ 70% de ce dont j'ai besoin, mais je ne pense pas que ce soit possible.

J'ai trouvé un contrôle activeX pour Mozilla ( http://www.iol.ie/~locka/mozilla/control.htm ), mais il semble que c'est une ancienne version, il n'est donc pas nécessairement une amélioration.

Je suis ouvert aux suggestions

  • Pourquoi dites-vous que le contrôle WebBrowser utilise une vieille version de IE? Il utilise la version installée sur le système de l'utilisateur, bien que la IE8 WebBrowser s'affiche par défaut à la version IE7 rendu: blogs.msdn.com/ie/archive/2009/03/10/...
  • Parce qu'il n'a pas l'air sur ma machine. J'ai installé IE8 mais le contrôle montre les problèmes d'affichage que je n'ai pas voir depuis IE 5. Un très simple formulaire de connexion, 2 champs avec une touche de CSS a brouillé d'affichage, et un peu de javascript affichage ne fonctionne pas, alors qu'il s'affiche bien dans IE8, Firefox, Chrome, Opera ... donc j'ai supposé que le moteur de rendu a été un ancien. Je pourrais être tout à fait tort à ce sujet et peut-être que le problème est en fait différent de ce que je pensais.
  • Vous êtes dans l'erreur. Il utilise la dernière c'est à dire sur votre système. Cependant, j'ai lu quelque part que le contrôle WebBrowser a une forte arrière-problème de compatibilité que le navigateur autonome. IE8 peut avoir, par exemple, une icône à cliquer pour activer mode IE7. Dans le cadre de votre programme, ce n'est pas possible, de sorte que les paramètres par défaut du contrôle de la précédente en mode de compatibilité. Otoh, que, je n'ai pas lu comment le configurer pour utiliser "IE8 en mode".
  • C'est étrange car la page NE s'affiche pas correctement en mode IE7 ainsi que dans IE8 mode dans mon navigateur. (La page est your-translations.com/newDesign, cliquez sur le bouton ouvrir une session pour voir les formes qui se foiré. Comme vous pouvez le voir, c'est assez simple.)
  • En fait, John sanders, vous avez tort. Il utilise ie4 et vous avez besoin de changer une valeur de registre à dire de l'usage courant. Consulter la rubrique "mode de fonctionnalité d'émulation" et vous obtiendrez ur réponses, récemment modifié, utilisé pour inclure un mot-clé indigènes, mais ils l'ont changé, google les mots clés je l'ai mentionné à "contrôle webbrowser" et u se trouvent article msdn.
  • Merci pour cette gemme. Pourriez-vous nous donner un lien vers l'article de msdn directement, et si possible expliquer comment forcer un contrôle webbrowser à utiliser la dernière version d'internet explorer disponible sur la machine?
  • Quelqu'un aurait-il une recommandation pour une utilisation avec watin?
  • Il n'utilise PAS la version qui est installée sur le système de l'utilisateur. Je suis en cours d'exécution IE11, lorsque je place un Contrôle WebBrowser sur un nouveau Formulaire Windows, puis l'exécuter, il affiche dieu-aweful pages. J'ai même essayé plus de 20 ou alors, des tutoriels sur la façon de le WebControl navigateur pour utiliser la version la plus récente de la dernière version qui est installé, mais rien ne fonctionne. Il n'a jamais. Je ne sais pas quels trucs que vous utilisez, mais il y a évidemment quelque chose qui nous manque, parce que je n'ai jamais réussi à le faire fonctionner, ni a personne que je connais.
  • Par défaut, hébergé WebBrowser de contrôle utilise IE7 émulation, sauf instruction contraire avec FEATURE_BROWSER_EMULATION. Ceci est documenté ici: blogs.msdn.com/b/askie/archive/2009/03/23/...
  • C'est ok, c'est une vieille question, mais j'espère que c'est utile: Vous pouvez définir la WebBrowser de contrôle de l'utilisation d'un plus version de IE sans trop de douleur: stackoverflow.com/questions/18333459/...
  • veuillez consulter ma réponse pour voir comment faire du webbrowser à utiliser la dernière version de ie qui a installé
  • Je suis tombé sur cette réponse et je pense que cela peut vous aider.
  • DotNetBrowser fournit WPF/WinForms de contrôle basé sur les plus récentes de Chrome moteur. Il est très facile à utiliser, et il y a de libre et de l'Open Source Académique des licences.

InformationsquelleAutor Sylverdrag | 2009-04-26