2011-03-15 7 views
7

Attualmente sto utilizzando il controllo IE ActiveX (browser Web) in .NET per mostrare l'HTML all'interno della mia applicazione, ma è MOLTO LENTO (carichi di memoria virtuale) e molto limitato e vorrei estrapolarlo con un visualizzatore HTML completamente gestito..NET visualizzatore HTML/alternative di controllo del browser Web

Questa è una richiesta diversa da Is there any better web browser control in C# (.NET)? poiché riguarda altri browser incorporati (Firefox/Gecko). Non voglio incorporare un browser, voglio un controllo correttamente gestito.


aggiornamento (13 apr 2011): This post da Jeff Atwood spiega parte della motivazione, per coloro chiaro perché questo è importante/necessaria.

+0

Stai cercando un browser scritto * interamente in codice gestito *? Non ne sono a conoscenza. Il meglio che puoi fare è un wrapper .NET per un browser web esistente. Non è chiaro il motivo per cui è inaccettabile per te. –

+0

@Code Gray: un controllo del browser scritto interamente nel codice gestito, sì. Ha bisogno di essere ricco di funzionalità come i browser di flusso principale, non del tutto. Il mio problema con i browser incorporati fino ad ora è solo la dimensione, il più piccolo raddoppierà la mia dimensione attuale del sistema, aggiungono un sovraccarico significativo (l'utilizzo della memoria virtuale di IE è 4 volte rispetto al resto della mia app) e i wrapper sono poveri se si voglio fare un lavoro serio con esso. –

+2

Non intendo questo per sembrare scortese, ma è un po 'sciocco. Un browser che è stato scritto nel codice interamente gestito sarebbe qualcosa se non * più * gonfio di quello scritto nel codice nativo. Avrai sicuramente un overhead * in più * con un controllo gestito. La mia ipotesi è * significativamente * di più, ma non avendo effettivamente visto uno, è difficile dirlo con certezza. Capisco che non ti piace IE; neanche io. Ma ci sono altri buoni wrapper disponibili che dovresti considerare seriamente. Non troverai un browser scritto in .NET. –

risposta

4

Dopo aver trovato il post di Jeff ho scorrere attraverso il pasticcio di commenti e ho trovato HTMLRenderer, che è una soluzione CodePlex. Ha il supporto per CSS 2.1 più supporto per HTML 4.1 ed è gratuito & OSS (BSD LIcense). Il codice è un disastro, purtroppo, ma c'è solo una parte che è davvero preoccupante per il resto può essere ripulito.

+0

Ho voluto creare un [albero css puro] (http://cssdeck.com/labs/pure-css-tree-menu- framework) ma sfortunatamente questa cosa non lo rende allo stesso modo. –

1

Penso che una buona strada da percorrere è quella di utilizzare la porta Webkit per NET

http://webkitdotnet.sourceforge.net/

Maggiori informazioni su Webkit stesso:

http://en.wikipedia.org/wiki/WebKit

+0

Come indicato nella domanda "Non voglio incorporare un browser, voglio un controllo correttamente gestito". Questo è wrapper per incorporare il webkit. –

+0

Scusa, quindi non capisco la tua domanda. – Turowicz

+0

È possibile incorporare un controllo del browser Web e quindi utilizzare uno dei grandi editor HTML javascript come TinyMCE per modificare l'HTML –

-1

Hai solo arent andando a trovare uno . La complessità della scrittura di un browser, specialmente in questo mercato competitivo, è enorme.

Cosa si potrebbe provare, è in esecuzione un puro browser Web Java in .Net, utilizzando iKVM

Idealmente, uno di questi browser, porting per .net sarebbe grande, ma non posso trovare alcun riferimento a che o.

Due puro Java browser:

  1. HotJava
  2. Lobo
+0

Non vedo come l'integrazione di un browser Java in un'applicazione .NET ti porti ovunque. Certo, è * possibile *. Ma non è meglio che incorporare uno scritto in codice nativo, come Webkit, Gecko, ecc. –

Problemi correlati