Существует ли встраиваемый компонент Webkit для разработки под Windows / C #? - PullRequest
72 голосов
/ 27 сентября 2008

Я видел несколько COM-элементов управления, которые оборачивают движок рендеринга Gecko ( GeckoFX , а также элемент управления, поставляемый Mozilla - mozctlx.dll ). Существует ли оболочка для Webkit, которая может быть включена в приложение .NET Winform?

Ответы [ 11 ]

39 голосов
/ 03 декабря 2010

Я только что выпустил пре-альфа-версию CefSharp моих .Net привязок для Chromeium Embedded Framework .

Проверьте это и выскажите свои мысли: https://github.com/chillitom/CefSharp (двоичные библиотеки и примеры доступны на странице загрузок)

обновление : Выпущена новая версия, включающая возможность привязки объектов C # к DOM и многое другое.

обновление 2 : больше не альфа, lib используется в реальных проектах, включая Facebook Messenger для Windows, клиент Rdio для Windows и Github для Windows

38 голосов
/ 09 февраля 2010

Еще не пробовал, но нашел WebKit.NET на SourceForge. Он был перемещен в GitHub .

Предупреждение: Больше не поддерживается, последние коммиты с начала 2013 года

18 голосов
/ 27 сентября 2008

В GitHub Repository есть компонент WebKit-Sharp. Я не могу найти какую-либо документацию для просмотра в Интернете, и я даже не уверен, что это WinForms или GTK # (не могу взять источник отсюда, чтобы проверить в данный момент), но это, вероятно, ваш лучший выбор, либо способ.

12 голосов
/ 10 апреля 2010

Berkelium - это инструмент C ++ для создания встраиваемого хрома.

AwesomiumDotNet является оберткой вокруг Берклия и Awesomium

Кстати, ссылка здесь на Awesomium представляется более актуальной.

7 голосов
/ 28 августа 2009

На сервере Subversion в Mono есть компонент WebKit-Sharp. Я не могу найти какую-либо документацию для просмотра в Интернете, и я даже не уверен, что это WinForms или GTK # (не могу взять источник отсюда, чтобы проверить в данный момент), но это, вероятно, ваш лучший выбор, либо способ.

Я думаю, что этот компонент является оболочкой CLI для webkit для Ubuntu. Так что эта оболочка, скорее всего, может не работать на win32

Попробуйте проверить другой вариант - проект awesomium - обертка вокруг проекта Google " Chromium ", использующего webkit. Также в awesomium есть такие функции, как интерактивные веб-страницы на трехмерных объектах под WPF

.
6 голосов
/ 06 июня 2012

Мне удалось сделать это с помощью CefSharp (который использует браузер хрома ).

Вот пара сообщений, которые показывают это в действии:

6 голосов
/ 11 сентября 2011

Существует OpenWebKitSharp, форк WebKit.NET 0.5 и очень продвинутый. Подробности: http://code.google.com/p/open-webkit-sharp/

2 голосов
/ 22 апреля 2015

Взгляните на библиотеку DotNetBrowser . Он предоставляет элементы управления браузером WPF и WinForms на основе Chromium, которые довольно легко встроить в приложение .NET. Он поддерживает все современные веб-стандарты, включая HTML5, CSS3 и JavaScript. Страница отображается точно так же, как в Google Chrome.

Библиотека наследует многопроцессную архитектуру Chromium - каждая веб-страница отображается в отдельном процессе Chromium, и приложение продолжает работать даже после сбоя плагина или любой другой непредвиденной ошибки на веб-странице.

Вот некоторые другие полезные функции, предоставляемые DotNetBrowser: есть возможность прослушивать события загрузки, обрабатывать сетевую активность, настраивать прокси, моделировать действия пользователя, работать с файлами cookie, получать доступ и изменять DOM, прослушивать события DOM, вызывать JavaScript из .NET и наоборот, используйте веб-камеру и микрофон на веб-странице, настройте связь на основе WebRTC и больше .

Обратитесь к Справочнику по API для получения более подробной информации.

Фрагмент кода ниже демонстрирует, как создать BrowserView, внедрить его в форму и загрузить 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");
        }
    }
}

Запустив приведенный выше пример, вы получите следующий вывод:

enter image description here

Библиотека является коммерческой, однако она бесплатна для использования в Open-Source и академических проектах. Коммерческие лицензии включают пакеты поддержки для разных размеров команды. Также можно приобрести исходный код библиотеки.

Помимо собственной страницы, компонент доступен в виде пакета NuGet и пакета VSIX в Visual Studio Marketplace.

2 голосов
/ 30 сентября 2008

Версия Qt 4 для Windows включает в себя и WebKit, и классы для создания компонентов ActiveX. Возможно, это не идеальное решение, если вы еще не используете Qt.

1 голос
/ 22 июля 2011

попробуйте это http://code.google.com/p/geckofx/ надеюсь, что это не обман или этот, я думаю, лучше http://webkitdotnet.sourceforge.net/

...