11

WindowsでGtkを使用してMono.WebBrowserを使用する最も簡単な例を考え出そうとしています。Windows.Forms バージョンは正常に動作しますが (Platform.Gtk を指定しない場合の既定値)、既存の Gtk クロスプラットフォーム アプリケーションに統合する必要があります。

簡単な例を次に示します。

public static void Main (string[] args)
{
    Gtk.Application.Init ();
    Gtk.Window win = new Gtk.Window ("Title");
    Mono.WebBrowser.IWebBrowser browser =
        Mono.WebBrowser.Manager.GetNewInstance(Mono.WebBrowser.Platform.Gtk);
    browser.Load(win.Handle, 500, 250);
    win.ShowAll ();
    GLib.Timeout.Add( 500, delegate {
        browser.Navigation.Go ("http://google.com/");
        return false;
    });
    Gtk.Application.Run ();
}

コンパイル、実行、および browser.Initialized は true です。しかし、Gtk.Window (または私が試した他の Gtk.widget) にはレンダリングされません。ブラウザが実際に自分自身をレンダリングするトリガーは何ですか? これを Window に直接レンダリングできない可能性があります (mono-docbrowser [1] ソースを見たことがありますが、より複雑な例がありますが、どちらもレンダリングされません)。

webkit-sharp を調べましたが、Gtk を使用して Windows または Mac で動作させることができません。

[1] https://github.com/mono/mono-tools/tree/master/docbrowser

4

4 に答える 4

5

正確な場所を思い出すことはできませんが、Mono.WebBrowser 名前空間が WebkitSharp を支持して廃止されたという記事をどこかで読みました。

以前にそのようなことを試しましたが、Linux ディストリビューションの webkit-sharp.dll を使用しました。コンパイルしてWindowsで実行しようとしましたが、うまくいきませんでした。そのため、実際にすべてをレンダリングする webkit-gtk dll が欠落していることが判明しました (webkit-sharp は単なるグルーコードであり、必要に応じてラッパーです)。

その後、メンテナーの 1 人 (Andreia Gaita) に電子メールを送信し、(windows/osx での webkit-sharp の使用について) 役立つ可能性のある応答を受け取りました。そのメールを転送します。

于 2013-02-15T01:50:49.450 に答える
0

私はグスタボが言ったことを確認することしかできません:Mono.WebBrowserは私のために働いたことがありません。webkit-sharpの問題は、クロスプラットフォームであっても、Windowsを嫌うことです。webkit-sharpは、実際にはwebkit-gtkの.NETバインディングです(たとえば、GtkウィンドウにWebKitを埋め込む)。しかし、Gtk#/ MonoとWebKitの両方がすべてWindowsで動作する場合でも、webkit-gtkはここで多くの問題を引き起こします。

于 2013-02-15T20:30:15.750 に答える
0

Gluezillaは廃止され (新しい Firefox では動作しません)、Webkit-sharpはまだ成熟していません (技術的には廃止されていませんが、結果はほとんど同じであると聞いています)。私は他のオプションを知りません。

于 2013-02-15T01:57:57.397 に答える
0

コードが機能しない理由はわかりませんが、C++ または .Net アプリケーションに統合できる Chromium のハッキングされたソースである Awesomium を使用することをお勧めします。

彼らの wiki はかなり不完全ですが、SDK のダウンロードには使用方法の例がいくつか含まれています。

Awesomium: http://awesomium.com/ ウィキ: http://wiki.awesomium.net/

于 2013-02-16T22:08:50.747 に答える