Ich habe einige COM-Steuerelemente gesehen, die die Gecko-Rendering-Engine ( GeckoFX sowie das von Mozilla gelieferte Steuerelement - mozctlx.dll ) umschließen . Gibt es einen Wrapper für Webkit, der in einer .NET Winform-Anwendung enthalten sein kann?
72
Antworten:
Es gibt eine WebKit-Sharp-Komponente im GitHub-Repository von Mono . Ich kann keine im Internet sichtbare Dokumentation finden und bin mir nicht einmal sicher, ob es sich um WinForms oder GTK # handelt (ich kann die Quelle von hier aus nicht abrufen, um sie im Moment zu überprüfen), aber es ist wahrscheinlich auch Ihre beste Wahl Weg.
quelle
Ich habe gerade eine Pre-Alpha-Version von CefSharp my .Net- Bindungen für das Chromium Embedded Framework veröffentlicht .
Probieren Sie es aus und geben Sie mir Ihre Gedanken: https://github.com/chillitom/CefSharp (Binärbibliotheken und Beispiel auf der Downloadseite verfügbar)
Update : Eine neue Version wurde veröffentlicht. Sie bietet die Möglichkeit, C # -Objekte an das DOM zu binden und vieles mehr.
Update 2 : Nicht mehr Alpha, lib wird in realen Projekten verwendet, einschließlich Facebook Messenger für Windows, Rdios Windows-Client und Github für Windows
quelle
Ich habe es noch nicht versucht, aber WebKit.NET auf SourceForge gefunden. Es wurde nach GitHub verschoben .
Warnung: Wird nicht mehr gewartet, die letzten Commits stammen aus Anfang 2013
quelle
Berkelium ist ein C ++ - Tool, mit dem Chrom eingebettet werden kann.
AwesomiumDotNet ist ein Wrapper um Berkelium und Awesomium
Übrigens scheint der Link hier zu Awesomium aktueller zu sein.
quelle
Ich denke, diese Komponente ist ein CLI-Wrapper um das Webkit für Ubuntu. Dieser Wrapper könnte also höchstwahrscheinlich nicht unter win32 funktionieren
Versuchen Sie, eine andere Variante zu überprüfen - Project Awesomium - Wrapper um das Google-Projekt " Chromium ", das Webkit verwendet. Auch awesomium hat Funktionen, die Webseiten auf 3D-Objekten unter WPF interavtivieren sollen
quelle
Es gibt OpenWebKitSharp, eine Abzweigung von WebKit.NET 0.5 und sehr fortgeschritten. Details: http://code.google.com/p/open-webkit-sharp/
quelle
Ich konnte dies mit CefSharp (das Chrom-Browser verwendet ) tun .
Hier sind einige Beiträge, die dies in Aktion zeigen:
quelle
Die Windows-Version von Qt 4 enthält sowohl WebKit als auch Klassen zum Erstellen von ActiveX-Komponenten. Es ist wahrscheinlich keine ideale Lösung, wenn Sie Qt noch nicht verwenden.
quelle
Schauen Sie sich die DotNetBrowser- Bibliothek an. Es bietet Chromium-basierte WPF- und WinForms-Browsersteuerelemente, die sich ganz einfach in .NET-Anwendungen einbetten lassen. Es unterstützt alle modernen Webstandards einschließlich HTML5, CSS3 und JavaScript. Die gerenderte Seite sieht genauso aus wie in Google Chrome.
Die Bibliothek erbt die Multiprozessarchitektur von Chromium. Jede Webseite wird in einem separaten Chromium-Prozess gerendert, und die Anwendung funktioniert auch nach einem Absturz des Plugins oder einem anderen unerwarteten Fehler auf der Webseite weiter.
Hier sind einige andere nützliche Funktionen, die von DotNetBrowser bereitgestellt werden: Es ist möglich, Ladeereignisse abzuhören, Netzwerkaktivitäten zu verarbeiten, Proxys zu konfigurieren, Benutzeraktionen zu simulieren, mit Cookies zu arbeiten, auf DOM zuzugreifen und diese zu ändern, DOM-Ereignisse abzuhören und JavaScript aus .NET aufzurufen und umgekehrt: Verwenden Sie eine Webkamera und ein Mikrofon auf der Webseite, richten Sie eine WebRTC-basierte Kommunikation ein und vieles mehr .
Weitere Informationen finden Sie in der API-Referenz .
Das folgende Codefragment zeigt, wie Sie eine Browseransicht erstellen, in ein Formular einbetten und eine URL laden:
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"); } } }
Sobald Sie das obige Beispiel ausgeführt haben, erhalten Sie die folgende Ausgabe:
Die Bibliothek ist kommerziell. Kommerzielle Lizenzen enthalten Support-Pakete für verschiedene Teamgrößen. Es ist auch möglich, den Quellcode der Bibliothek zu erwerben.
Neben einer eigenen Seite ist die Komponente als NuGet-Paket und als VSIX-Paket im Visual Studio Marketplace verfügbar .
quelle
Ich glaube nicht, dass es ein aktuelles gibt, aber es gibt ein [kaum dokumentiertes] Projekt auf Google Code mit einer älteren Version ...
quelle
Versuchen Sie dieses http://code.google.com/p/geckofx/ Ich hoffe, es ist nicht betrogen oder dieses, das ich für besser halte http://webkitdotnet.sourceforge.net/
quelle