ここ数日間、C# Web ブラウザ コンポーネントの代替案をテストしてきました。これが私のリストです。
1. 新しい IE バージョン 8、9 を使用する場合:
Web ブラウザ コンポーネントは IE8 ではなく IE7 ですか? これを変更するには?
長所:
- 実行するのに多くの作業は必要ありません
- IE9 の場合は一部の HTML5/CSS3 サポート、IE10 の場合は完全にサポート
短所:
- ターゲット マシンにはターゲット IE バージョンがインストールされている必要があります。IE10 は Win7 ではまだプレビュー段階です。
これは多くの作業を必要とせず、HTML5 と CSS3 のサポートを得ることができますが、IE9 には最高の CSS3 と HTML5 の機能がいくつか欠けています。しかし、同じ方法で IE10 を実行できると確信しています。問題は、ターゲット システムに IE10 がインストールされている必要があることです。これは Windows 7 ではまだプレビュー段階であるため、私はそれに反対することをお勧めします。
2.OpenWebKitSharp _
OpenWebKitSharp は、WebKit.NET 0.5 プロジェクトに基づく Webkit エンジンの .net ラッパーです。WebKit は Chrome/Safari で使用されるレイアウト エンジンです。
長所:
短所:
- 多くの機能が実装されていません
- x64 をサポートしていません (アプリは x86 用にビルドする必要があります)
OpenWebKit は非常に優れていますが、多くの機能がまだ実装されていません。ここで null オブジェクト参照をスローし、デザイン モードで Visual Studio で使用すると、いくつかの問題が発生します。いくつかの js の問題があります。これを使用している人は、ほとんどすぐに js alert が何もしないことに気付くでしょう。mouseup、mousedown などのイベントが機能しない、js のドラッグ アンド ドロップにバグがあるなど。
また、特定のバージョンの VC 再頒布可能パッケージをインストールする必要があるため、インストールに問題がありました。そのため、例外の後、イベント ログを見て、VC のバージョンを見つけてインストールしました。
3.ゲッコーFX
長所:
- モノで動作
- 積極的に開発
- HTML5/CSS3 サポート
短所:
- D̶o̶e̶s̶n̶'̶t̶ ̶s̶u̶p̶p̶o̶r̶t̶ ̶x̶6̶4̶ ̶(̶A̶p̶p̶ ̶m̶u̶s̶t̶ ̶b̶e̶ ̶b̶u̶i̶l̶t̶ ̶f̶o̶r̶ ̶x̶8̶6̶)̶ - 以下のコメントを参照
GeckoFX は、WinForms アプリケーションに埋め込むためのクロス プラットフォーム Webrowser コントロールです。これは、Windows の .NET と Linux の mono で使用できます。Gecko は、Firefox で使用されるレイアウト エンジンです。
GeckoFX が積極的に開発されていないという情報に出くわしましたが、これは真実ではありません。もちろん、常に Firefox より 1 つまたは 2 つのバージョンが遅れていますが、それは正常なことです。アクティビティとコントロール自体に本当に感銘を受けました。必要なことはすべて実行されますが、実行するには少し時間が必要でした。実行するための小さなチュートリアルを次に示します。
- GeckoFx-Windows-16.0-0.2 をダウンロードします。ここで、新しいバージョンが利用可能かどうかを確認できます。
- ダウンロードした 2 つの dll への参照を追加します。
- GeckoFX は XulRunner が必要なラッパーであるため、バージョン リストに移動して、必要なものを確認してください。
- 必要な XulRunner のバージョンがわかったので、
Mozilla XulRunner リリースに移動し、バージョン フォルダー -> ランタイム -> xulrunner-(your_version).en-US.win32.zip に移動します。この場合はxulrunner-16.0.en- です。 US.win32.zip
- すべてを解凍し、すべてのファイルを bin\Debug (プロジェクトがリリースに設定されている場合はリリース) にコピーします。
- フォームのビジュアル スタジオ デザイナーに移動し、ツールボックスに移動し、内部を右クリック -> 項目を選択 -> 参照 -> ダウンロードした GeckoFX winforms dll ファイルを検索 -> OK
- これで、新しいコントロール GeckoWebBrowser ができたはずです
本当に Chrome を使用する必要がある場合は、Awesomiumと呼ばれるこの製品を見てください。非商用プロジェクトでは無料ですが、ライセンスは商用では数千ドルです。