webentwicklung-frage-antwort-db.com.de

Benutze chrome als Browser in C #?

Gibt es eine Möglichkeit, Google Chrome (oder Safari oder Firefox)) als Browser in einer C # -Anwendung zu verwenden? C # verwendet jetzt den Internet Explorer und die Website, die in diesem Programm verwendet werden soll, nicht unterstütze es.

47
Timo

Sie können WebKit.NET verwenden. Dies ist ein C # -Wrapper für WebKit, das von Chrome verwendete Renderingmodul.

53
Reed Copsey

Sie können GeckoFX verwenden, um Firefox einzubetten

43
Joel Martinez

Ich kenne keine vollständige Chrome) -Komponente, aber Sie könnten WebKit verwenden, das die Rendering-Engine ist, die das ermöglicht Chrome verwendet. Das Mono-Projekt gemacht WebKit Sharp , das für Sie arbeiten könnte.

12
Travis Gockel

Ich benutze Awesomium, ich denke, es ist besser als GeckoFX/WebKit http://awesomium.com

10
Liam Martens

Mit OpenWebKitSharp haben Sie die volle Kontrolle über WebKit Nightly, das in Bezug auf Leistung und Kompatibilität dem Webkit sehr nahe kommt. Chrome verwendet die WebKit Chromium-Engine, während WebKit.NET Cairo und OpenWebKitSharp Nightly verwendet. Chrom sollte die beste dieser Builds sein, während auf Platz 2 Nightly folgen sollte, und deshalb empfehle ich OpenWebKitSharp.

http://gt-web-software.webs.com/libraries.htm im Abschnitt OpenWebKitSharp

5
George
4
Dinis Cruz

03.01.2017 -> 03.01.2017

Hallo zusammen, heute habe ich diesen Artikel gefunden, um dies zu erreichen. Der Artikel heißt "Erstellen einer HTML-Benutzeroberfläche für Desktop .NET-Anwendungen" und soll ein chrombasiertes Steuerelement in eine WPF-Anwendung einbetten. Es hat mir den Tag gerettet.

https://www.infoq.com/articles/html-desktop-net

Ich hoffe es hilft jemand anderem.

HINWEIS: Es basiert auf DotNetBrowser, siehe Lizenzvereinbarung hier: https://www.teamdev.com/dotnetbrowser-licence-agreement

3
Juan

Versuchen Sie Folgendes: http://code.google.com/p/geckofx/

2
iamwill

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 übernimmt die Mehrprozessarchitektur von Chromium. Jede Webseite wird in einem separaten Chromium-Prozess gerendert, und die Anwendung funktioniert auch nach einem Absturz des Plugins oder nach Auftreten eines anderen unerwarteten Fehlers auf der Webseite weiter.

Hier sind einige weitere nützliche Funktionen von DotNetBrowser: Es ist möglich, Ladeereignisse abzuhören, Netzwerkaktivitäten zu verarbeiten, Proxy zu konfigurieren, Benutzeraktionen zu simulieren, mit Cookies zu arbeiten, auf DOM zuzugreifen und dieses zu ändern, DOM-Ereignisse abzuhören und JavaScript über .NET aufzurufen und umgekehrt, verwenden Sie die Webkamera und das Mikrofon auf der Webseite, richten Sie die WebRTC-basierte Kommunikation ein und more .

Weitere Informationen finden Sie in der API-Referenz .

Das folgende Code-Snippet zeigt, wie Sie eine BrowserView 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");
        }
    }
}

Wenn Sie das obige Beispiel ausführen, erhalten Sie die folgende Ausgabe:

enter image description here

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 im Visual Studio Marketplace als NuGet-Paket und als VSIX-Paket verfügbar.

2
Vladimir

Update 2016:

Leider sind die meisten der oben genannten Lösungen veraltet und werden nicht mehr gewartet.

Es gibt drei zusätzliche Optionen, die ich vorschlagen kann und die noch aktiv entwickelt werden:

1. BrowseEmAll.Cef

Eine .Net-Komponente, mit der Sie die Chrome-Engine in Ihre .Net-Anwendung integrieren können. Basierend auf CefGlue , aber etwas schneller bei Updates auf die neueste Chrome Version. Außerdem gibt es eine kommerzielle Unterstützung Option zur Verfügung, die für einige nützlich sein könnte. Natürlich ist die Komponente selbst Open Source .

2. BrowseEmAll.Gecko

Eine weitere .Net-Komponente, mit der Sie die Firefox-Engine in Ihre .Net-Anwendung integrieren können. Dies basiert auf Geckofx , aber im Gegensatz zur aktuellen Version von Geckofx funktioniert dies mit einer normalen Version von Firefox. Um Geckofx verwenden zu können, müssen Sie Firefox selbst erstellen. Auch hier ist kommerzieller Support verfügbar, aber die Komponente selbst ist vollständig Open Source .

. BrowseEmAll Core API

Benötigen Sie alle verschiedenen Browser in Ihrer .Net-Anwendung? Mit der BrowseEmAll Core API können Sie Chrome, Firefox, Webkit und Internet Explorer in Ihre Anwendung integrieren. Dies ist ein kommerzielles Produkt , seien Sie jedoch gewarnt.

(Vollständige Offenlegung: Ich arbeite für diese Firma, nimm also alles, was ich sage, mit einem Körnchen Salz

2
daniel.herken

Update für 2014:

Ich verwende geckofx , ein gesundes Open-Source-Projekt, das (zum Zeitpunkt des Schreibens) mit den neuesten Firefox-Versionen ziemlich gut auf dem neuesten Stand ist.

Wenn Sie Chrome einbetten möchten, sollten Sie ein anderes Open Source-Projekt in Betracht ziehen, Xilium.cefGlue , das auf The Chromium Embedded Framework (CEF) basiert.

Beide unterstützen WPF und Winforms, und beide Projekte unterstützen .net und mono.

2
John Hatton