Windows / C#開発用の埋め込み可能なWebkitコンポーネントはありますか?
質問
GeckoレンダリングエンジンをラップするいくつかのCOMコントロールを見てきました( GeckoFX 、Mozillaが出荷したコントロール- mozctlx.dll )。 .NET Winformアプリケーションに含めることができるWebkitのラッパーはありますか?
解決
MonoのGitHubリポジトリにWebKit-Sharpコンポーネントがあります。 Webで閲覧可能なドキュメントが見つかりません。WinFormsかGTK#かはわかりません(現時点ではソースを入手して確認することはできません)が、おそらく最善の方法です方法。
他のヒント
Chromium Embedded Framework の .Net バインディングの CefSharp のプレアルファ版をリリースしました。
それをチェックして、考えを教えてください: https://github.com/chillitom/CefSharp (ダウンロードページで利用可能なバイナリライブラリとサンプル)
更新: 新しいバージョンをリリースし、C#オブジェクトをDOMなどにバインドする機能が含まれています。
update 2 :アルファ版は廃止され、libはWindows用Facebook Messenger、RdioのWindowsクライアント、Github for Windowsなどの実世界のプロジェクトで使用されています
まだ試していませんが、SourceForgeで WebKit.NET を見つけました。 GitHub に移動しました。
警告:もうメンテナンスされていません。最後のコミットは2013年初頭のものです
Berkelium は、クロムを埋め込み可能にするC ++ツールです。
AwesomiumDotNet は、 Berkelium および Awesomium
ところで、 Awesomium へのリンクは最新のようです。
MonoのSubversion ServerにはWebKit-Sharpコンポーネントがあります。 Webで閲覧可能なドキュメントが見つかりません。WinFormsかGTK#かはわかりません(現時点ではソースを入手して確認することはできません)が、おそらく最善の方法です方法。
このコンポーネントはUbuntuのwebkitのCLIラッパーだと思います。そのため、このラッパーはwin32で動作しない可能性が高いです
別のバリアントを確認してください-プロジェクト awesomium -Googleプロジェクトのラッパー" Chromium " Webkitを使用します。また、awesomiumには、WPFの下で3DオブジェクトのインタラクティブなWebページが必要な機能があります
OpenWebKitSharpは、WebKit.NET 0.5のフォークであり、非常に高度です。詳細: http://code.google.com/p/open-webkit-sharp/
CefSharp( chromiumブラウザを使用)を使用してこれを行うことができました。
これが動作していることを示すいくつかの投稿があります:
Qt 4のWindowsバージョンには、ActiveKitコンポーネントを作成するためのWebKitとクラスの両方が含まれています。ただし、Qtをまだ使用していない場合は、おそらく理想的なソリューションではありません。
DotNetBrowser ライブラリをご覧ください。 ChromiumベースのWPFおよびWinFormsブラウザーコントロールを提供します。これらは.NETアプリケーションに簡単に組み込むことができます。 HTML5、CSS3、JavaScriptを含むすべての最新のWeb標準をサポートしています。レンダリングされたページは、Google Chromeとまったく同じように見えます。
ライブラリはChromiumのマルチプロセスアーキテクチャを継承します–各Webページは個別のChromiumプロセスでレンダリングされ、プラグインのクラッシュやその他の予期しないエラーがWebページで発生した後でも、アプリケーションは動作し続けます。
DotNetBrowserが提供するその他の便利な機能:ロードイベントのリッスン、ネットワークアクティビティの処理、プロキシの構成、ユーザーアクションのシミュレーション、Cookieの操作、DOMへのアクセスと変更、DOMイベントのリッスン、JavaScriptの呼び出しが可能.NETから、またはその逆に、WebページでWebカメラとマイクを使用し、WebRTCベースの通信を設定し、 more 。
詳細については、 APIリファレンスをご覧ください。
以下のコードスニペットは、BrowserViewを作成し、それをフォームに埋め込み、URLをロードする方法を示しています。
using System.Windows.Forms;
using DotNetBrowser;
using DotNetBrowser.WinForms;
namespace WinForms.DotNetBrowser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
BrowserView browserView = new WinFormsBrowserView();
Controls.Add((Control) browserView);
browserView.Browser.LoadURL("http://www.youtube.com");
}
}
}
上記の例を実行すると、次の出力が得られます。
ライブラリは商用です。商用ライセンスには、さまざまなチームサイズのサポートパッケージが含まれています。ライブラリのソースコードを購入することもできます。
独自のページの他に、コンポーネントは NuGetパッケージとして、および VSIXパッケージ(Visual Studio Marketplace)。
現在のものはないと思いますが、 Googleコードと古いバージョン...
これを試してください http://code.google.com/p/geckofx/ それがだまされていないことを願って またはこれは私が良いと思う http://webkitdotnet.sourceforge.net/