J'ai besoin d'un navigateur web dans mon application .NET 3.5 et je ne veux pas utiliser le navigateur web par défaut (parce qu'il est bogué et lent). J'ai essayé Chromium de Chris Cavanagh, mais je n'ai pas réussi à le faire fonctionner... Existe-t-il des alternatives plus faciles à utiliser ? Je cherche quelque chose de très simple et léger sur l'ordinateur, il hébergera une boutique en ligne si cela est important.
Réponses
Trop de publicités?Découvrez mon nouveau projet : https://github.com/chillitom/CefSharp
Ceci apporte le Chromium Embedded Framework à .Net / C#. Voir la page Github pour les sources, les binaires et l'exemple.
Caractéristiques :
- un contrôle du navigateur avec des commandes de navigation
- Événements INotifyPropertyChanged
- ExecuteJavascript
- Enregistrer vos propres gestionnaires de schéma/protocole
- téléchargements de ressources d'interception
- lier les objets CLR dans le contexte JavaScript de Chromium.
Il est encore en phase de pré-alpha, donc tout commentaire est apprécié.
J'ai eu de la chance en utilisant GeckoFX dans une application win form en C#. Voici le article de démarrage qui explique quelles sont les dépendances que vous devez installer pour le rendre opérationnel.
Si vous utilisez Windows Forms, il est plus facile à intégrer dans un contrôle WebBrowser. Si vous êtes en utilisant WPF, il est possible d'utiliser le contrôle WebBrowser à partir de WPF. Toutefois, le comportement de WPF et les WinForms sont différents.
Dans WPF, chaque pixel est rendu différemment que dans les WinForms. Vous pouvez afficher du contenu sur le dessus d'un WebBrowser de contrôle à l'aide de cette méthode:
http://karlshifflett.wordpress.com/2009/06/13/wpf-float-buttons-over-web-browser-control/
Cependant, si vous souhaitez créer une Fenêtre personnalisée et d'afficher un contrôle WebBrowser sur une fenêtre transparente, il n'a même pas montrer le contrôle WebBrowser. Il y a quelques solutions de contournement, mais la plupart d'entre eux sont compliquées. L'enfer, on a même recommandé de dessiner un faux INTERFACE utilisateur WPF derrière un WinForms. Mal couplé codes et plus sphagetti.
J'ai essayé ce pour une journée entière. Ce sont toutes les ressources que j'ai rassemblé sur cette. La prochaine tâche pour vous, est à la compilation, et obtenir une compréhension des choses. Cela vous met sur le même bateau que moi.
http://blogs.msdn.com/b/changov/archive/2009/01/19/webbrowser-control-on-transparent-wpf-window.aspx
http://msdn.microsoft.com/en-us/library/ms742522.aspx
Actuellement, j'ai abandonné le contrôle WebBrowser et m'en vais pour la Awesomium projet. En essayant de le rendre le travail est un autre tracas que les codes sont répartis sur différents .NET versions. Si l'un de vous avait un peu de chance, merci de le partager ici.
Vous pouvez également voir ce projet pour plus facile à utiliser des contrôles pour les navigateurs web.
http://www.khrona.com/products/awesomium/
Une fois de plus, WinForms a pas de problème avec le contrôle WebBrowser, WPF a d'innombrables et MS n'est pas désireux de raccommoder les choses plus tôt.
Je ne suis pas sûr qu'il y ait tant d'alternatives, http://webkitdotnet.sourceforge.net/ en est une cependant. Je pense qu'il s'agit d'un contrôle WinForms plutôt que WPF, donc il faudra peut-être sauter par-dessus des cerceaux pour le faire fonctionner.
J'ai trouvé une collection de FAQs sur ce sujet sur http://www.syncfusion.com/faq/windowsforms/faq_c100c.aspx
mais je n'ai pas essayé moi-même.