2011-03-15 95 views
7

我當前在.NET中使用IE ActiveX(網絡瀏覽器)控件在我的應用程序中顯示HTML,但它非常慢(虛擬內存吃食),而且非常有限我想用完全託管的HTML查看器來替代它。.NET Html查看器/網絡瀏覽器控件替代品

這是對Is there any better web browser control in C# (.NET)?的不同請求,因爲這涉及其他嵌入式瀏覽器(Firefox/Gecko)。我不想嵌入瀏覽器,我想要一個正確的管理控制。


更新(2011年4月13日): This post傑夫阿特伍德解釋了部分推理,爲那些不清楚爲什麼這是重要/需要。

+0

您正在尋找一個完全以託管代碼編寫的瀏覽器*?我不知道一個。你可以做的最好的是一個現有的Web瀏覽器的.NET包裝。目前還不清楚爲什麼你不能接受。 –

+0

@Code Gray - 完全用託管代碼編寫的瀏覽器控件,是的。它是否需要像主流瀏覽器那樣功能豐富,根本不需要。到目前爲止,我對嵌入式瀏覽器的問題只是規模,最小的一個會使我當前的系統規模增加一倍,它們會增加大量開銷(IE虛擬內存使用量是我應用程序其餘部分的4倍),而且如果您想用它做認真的工作。 –

+2

我並不是說這聽起來很粗魯,但那有點傻。用完全託管的代碼編寫的瀏覽器如果不是用本地代碼編寫的瀏覽器就不會有*膨脹。使用託管控件時,您肯定會擁有*更多*的開銷。我的猜測*顯着*更多,但沒有真正見過,很難說確定。我知道你不喜歡IE;我也不。但還有其他的好包裝,你應該認真考慮。你不會找到用.NET編寫的瀏覽器。 –

回答

4

找到傑夫的帖子後,我通過評論的混亂滾動,發現HTMLRenderer,這是一個CodePlex上的解決方案。它具有CSS 2.1支持和HTML 4.1支持,並且是免費的& OSS(BSD LIcense)。不幸的是,代碼是一團糟,但只有一部分非常令人擔憂,剩下的部分可以清理乾淨。

+0

我想創建一個[純CSS樹](http://cssdeck.com/labs/pure-css-tree-menu-框架),但不幸的是,這件事並沒有以同樣的方式呈現它。 –

1

我認爲去好辦法是使用WebKit的端口.NET

http://webkitdotnet.sourceforge.net/

更多信息有關的Webkit自身:

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

+0

正如問題所述,「我不想嵌入瀏覽器,我想要一個正確管理的控制。」這是嵌入webkit的包裝。 –

+0

對不起,那我不明白你的問題。 – Turowicz

+0

您可以嵌入一個Web瀏覽器控件,然後使用像TinyMCE這樣偉大的JavaScript HTML編輯器來編輯HTML –

-1

你剛纔的arent要找到一個。編寫瀏覽器的複雜性,特別是在這個競爭激烈的市場中,非常龐大。

什麼你可能嘗試,運行在.net一個純Java的Web瀏覽器,通過使用iKVM

理想的情況下,這些瀏覽器之一,移植到.NET將是巨大的,但我不能找到任何參考那也是。

兩個純Java的瀏覽器:

  1. HotJava
  2. Lobo
+0

我只是沒有看到如何將Java瀏覽器嵌入到.NET應用程序中。當然,這是*可能*。但它並不比嵌入用本地代碼編寫的Webkit,Gecko等更好。 –