i m en utilisant actuellement le contrôle IE ActiveX (Web Browser) dans .NET pour afficher HTML à l'intérieur de mon application, mais il est très lent (charge de la mémoire virtuelle mangeant) et très limitée et je voudrais faire la balle avec un spectateur HTML entièrement géré. P>
Ceci est une demande différente de y a-t-il Meilleur contrôle du navigateur Web en C # (.NET)? Comme cela concerne d'autres navigateurs intégrés (Firefox / Gecko). Je ne veux pas intégrer un navigateur, je veux un contrôle correctement géré. P>
3 Réponses :
Je pense que le bon moyen d'y aller est d'utiliser le port WebKit pour .NET P>
http://webkitdottnet.sourceforge.net/ p>
Plus d'infos sur WebKit lui-même: P>
Comme indiqué dans la question "Je ne veux pas intégrer un navigateur, je veux un contrôle correctement géré." Ceci est wrapper pour incorporer WebKit.
Désolé, alors je ne comprends pas votre question.
Vous pouvez incorporer un contrôle de navigateur Web, puis utiliser l'un des plus grands eDtors HTML JavaScript comme TinyMCE pour modifier le HTML.
Vous n'êtes pas juste d'aller en trouver un. La complexité de la rédaction d'un navigateur, en particulier sur ce marché compétitif, est massive. P>
Ce que vous pouviez éventuellement essayer, exécute un navigateur Web pure Java dans .NET, en utilisant IKVM p>
Idéalement, l'un de ces navigateurs, porté à .NET serait génial, mais je ne peux trouver aucune référence à cela non plus. P>
Deux navigateurs Java pure: p>
Je ne vois tout simplement pas comment l'intégration d'un navigateur Java dans une application .NET vous obtient n'importe où. Bien sûr, c'est possible i>. Mais ce n'est pas mieux que d'incorporer une écrite dans un code natif, comme webkit, gecko, etc.
Après avoir trouvé le message de Jeff, j'ai fait défiler le désordre des commentaires et trouvé HTMLRenderer , qui est une solution CODEPLEX. Il possède la prise en charge de CSS 2.1 plus HTML 4.1 et est GRATUIT & OSS (licence BSD). Le code est malheureusement, mais il n'y a qu'une partie qui est vraiment inquiétante que le reste peut être nettoyé. P>
Je voulais créer un pure CSS arborese mais malheureusement cette chose ne rend pas C'est de la même manière.
Vous recherchez un navigateur écrit entièrement dans le code géré i>? Je ne suis pas au courant d'un. Le meilleur que vous puissiez faire est un wrapper .NET pour un navigateur Web existant. Ce n'est pas clair pourquoi c'est vraiment inacceptable pour vous.
@Code Gray - Un contrôle de navigateur écrit entièrement dans le code géré, oui. Cela doit-il être comme une caractéristique riche en tant que navigateurs principaux, pas du tout. Mon problème avec les navigateurs embarqués jusqu'à présent, c'est simplement une taille, le plus petit doublerait ma taille du système actuel, ils ajoutaient des frais généraux significatifs (c'est-à-dire que l'utilisation de la mémoire virtuelle est 4 fois supérieure au reste de mon application) et les wrappers sont simplement pauvres si vous Voulez-vous faire un travail sérieux avec elle.
Je ne veux pas dire cela pour sonner grossier, mais c'est un peu stupide. Un navigateur qui a été écrit dans un code entièrement géré serait tout ce qui ne serait pas plus i> ballonné que l'un écrit en code natif. Vous allez certainement avoir plus i> surcharge avec un contrôle géré. Je suppose que c'est de manière significative i> plus, mais n'ayez pas vu en fait un, il est difficile de dire pour certains. Je comprends que vous n'aimez pas IE; moi non plus. Mais il y a d'autres bons wrappers disponibles que vous devriez considérer sérieusement. Vous n'allez pas trouver un navigateur écrit dans .NET.
@Code Gray - pense que cela manquait le point. Premier BLOQUE est très large, je suis content de gonfler dans la variante, mais je veux éviter les choses comme le problème de la mémoire virtuelle qui est massif sur tous les emballages. Deuxièmement, avoir un navigateur de code géré (nous ne parlions pas une implémentation complète ici, juste un visualiseur / analyseur HTML) signifie que le code pourrait facilement être modifié. Par exemple, si je veux ajouter un support pour dire HTML11, alors je pourrais. Considérant que cela existe dans Java & Delphi, cela montre un besoin et peut être fait - tout simplement pas sûr de ce qui empêche les gens .net de le faire.