Есть ли встроенный компонент Webkit для разработки Windows/С#?

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

+72
источник поделиться
11 ответов

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

+18
источник

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

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

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

update 2: no-longer alpha, lib используется в реальных проектах, включая Facebook Messenger для Windows, клиент Rdio Windows и Github для Windows

+39
источник

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

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

+38
источник

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

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

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

+12
источник

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

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

Попробуйте проверить другой вариант - проект awesomium - обертка вокруг проекта google Chromium", которые используют webkit. Кроме того, у awesomium есть функции, как, например, для интерактивных веб-страниц на 3D-объектах в WPF

+7
источник

Существует OpenWebKitSharp, вилка WebKit.NET 0.5 и очень продвинутая. Детали: http://code.google.com/p/open-webkit-sharp/

+6
источник

Я смог сделать это, используя CefSharp (который использует браузер Chrome).

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

+6
источник

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

+2
источник

Взгляните на библиотеку 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

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

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

+2
источник

Я не думаю, что есть текущий, но есть проект [едва документированный] на Google Code с более старая версия...

+1
источник

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

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос