2008-09-26 9 views

Odpowiedz

17

Jest składnikiem WebKit-Ostry na Mono's GitHub Repository. Nie mogę znaleźć na nim żadnej dostępnej w Internecie dokumentacji i nie jestem nawet pewien, czy to WinForms, czy GTK # (nie mogę pobrać źródła tutaj, aby sprawdzić w tej chwili), ale prawdopodobnie jest to twój najlepszy wybór, albo droga.

+0

Nie udało mi się zbudować tego na Windowsie kilka tygodni temu, ale byłbym zainteresowany, gdyby ktoś inny mógł to zbudować. –

+0

Link jest uszkodzony ... – jjxtra

+0

@PsychoDad Naprawiono. – vcsjones

1

Nie sądzę, jest obecny jeden tam, ale jest [ledwo udokumentowane] projekt na Google Code ze starszej wersji ...

+0

Swift wykorzystuje kompilację WebKit Charn, ale Charn nie jest już dostępny. –

+0

Pojawia się, że narzędzie Swift zostało usunięte z Google Code. –

2

Wersja systemu Windows Qt 4 zawiera zarówno WebKit, jak i klasy do tworzenia komponentów ActiveX. Prawdopodobnie nie jest to idealne rozwiązanie, jeśli jeszcze nie używasz Qt.

+0

Czy można używać Qt4 z poziomu C#? –

7

Istnieje komponent WebKit-Sharp na serwerze Subversion Mono. Nie mogę znaleźć na nim żadnej dostępnej w Internecie dokumentacji i nie jestem nawet pewien, czy to WinForms, czy GTK # (nie mogę pobrać źródła tutaj, aby sprawdzić w tej chwili), ale prawdopodobnie jest to twój najlepszy wybór, albo droga.

Myślę, że ten komponent to wrapper CLI wokół webkita dla Ubuntu. Więc to wrapper najprawdopodobniej nie mógł pracować na win32

Spróbuj sprawdzić inny wariant - projekt awesomium - otoki wokół projektu Google „Chromium”, które używają WebKit. Również awesomium ma funkcje, takie jak powinny interavtive stron internetowych na obiekty 3D pod WPF

38

Nie próbowałem jeszcze, ale znalazłem WebKit.NET na SourceForge. Został przeniesiony do GitHub.

Ostrzeżenie: nie utrzymuje już, ostatnie rewizje są od początku 2013

+0

Mam to działa dobrze kilka miesięcy temu. Wydawało się działać dobrze. – Tristan

+2

Ten projekt nie jest już obsługiwany - nie mogłem uzyskać niczego, co można by skompilować w ramach Visual Studio 2012, ani nie ma on aktualnej implementacji WebKit. –

38

Właśnie wydać wersję pre-alpha CefSharp moje Net wiązania dla Chromium wbudowanego Framework.

Sprawdź to i daj mi swoje myśli: https://github.com/chillitom/CefSharp (bibliotekami binarnych i przykład dostępne na stronie pliki)

aktualizacji: wydała nową wersję obejmuje zdolność do wiązania C# obiekty do DOM i więcej.

Aktualizacja 2: no-longer alfa, lib jest stosowany w rzeczywistych projektach światowych takich jak Facebook Messenger dla Windows, Rdio za klienta Windows i Github dla Windows

+0

fajne, niż dla twojego oprogramowania –

+0

Świetnie! Wersja WPF jest tam! – Itachi

+0

Niestety, jest to tylko system Windows. – cubuspl42

2

Spójrz na biblioteki DotNetBrowser. Udostępnia on kontrolki przeglądarki WPF i WinForms oparte na Chrom, które są dość łatwe do osadzenia w aplikacji .NET. Obsługuje wszystkie nowoczesne standardy internetowe, w tym HTML5, CSS3 i JavaScript. Renderowana strona wygląda dokładnie tak, jak w Google Chrome.

Biblioteka dziedziczy architekturę wieloprocesową Chromium - każda strona internetowa jest renderowana w oddzielnym procesie Chromium, a aplikacja będzie działała nawet po awarii wtyczki lub innym nieoczekiwanym błędzie na stronie internetowej.

Oto kilka innych przydatnych funkcji, dostarczanych przez DotNetBrowser: możliwe jest słuchanie zdarzeń ładowania, obsługa sieci, konfiguracja proxy, symulacja działań użytkownika, praca z plikami cookie, dostęp i modyfikowanie DOM, słuchanie zdarzeń DOM, wywoływanie JavaScript z .NET i na odwrót, użyj kamery internetowej i mikrofonu na stronie internetowej, skonfiguruj komunikację opartą na WebRTC i more.

Aby uzyskać więcej informacji, sprawdź numer API Reference.

Fragment kodu poniżej pokazuje jak stworzyć BrowserView, osadzić go w formę i załadować 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"); 
     } 
    } 
} 

Po uruchomieniu powyższego przykładu można uzyskać następujące dane wyjściowe:

enter image description here

Biblioteka jest komercyjna, jednak jest darmowa do użytku w projektach Open Source i Academic. Licencje komercyjne obejmują pakiety wsparcia dla różnych rozmiarów zespołów. Istnieje również możliwość zakupu kodu źródłowego biblioteki.

Oprócz własnej strony składnik jest dostępny jako NuGet package i jako VSIX package w Visual Studio Marketplace.

+1

Ten produkt wygląda rozsądnie, ale pamiętaj, że "musisz ujawnić swoją przynależność w swoich odpowiedziach". http://stackoverflow.com/help/promotion – Sire