Существует ли встраиваемый компонент Webkit для разработки под Windows / C#?
Я видел несколько COM-элементов управления, которые обертывают движок рендеринга Gecko ( GeckoFX, а также элемент управления, поставляемый Mozilla - mozctlx.dll). Существует ли оболочка для Webkit, которая может быть включена в приложение.NET Winform?
11 ответов
В репозитории GitHub Mono есть компонент WebKit-Sharp. Я не могу найти какую-либо документацию для просмотра в Интернете, и я даже не уверен, что это WinForms или GTK# (не могу взять источник отсюда, чтобы проверить в данный момент), но это, вероятно, ваш лучший выбор, либо путь.
Я только что выпустил пре-альфа-версию CefSharp моих привязок .Net для Chromium Embedded Framework.
Проверьте это и выскажите свои мысли: https://github.com/chillitom/CefSharp(бинарные библиотеки и примеры доступны на странице загрузок)
обновление: выпущена новая версия, включает в себя возможность связывать объекты C# в DOM и многое другое.
обновление 2: больше не альфа, lib используется в реальных проектах, включая Facebook Messenger для Windows, клиент Rdio для Windows и Github для Windows
Еще не пробовал, но обнаружил WebKit.NET на SourceForge. Он был перенесен на GitHub.
Предупреждение: больше не поддерживается, последние коммиты с начала 2013
Berkelium - это инструмент C++ для создания встраиваемых Chrome.
AwesomiumDotNet - это оболочка как для берклия, так и для Awesomium
Кстати, ссылка здесь на Awesomium выглядит более актуальной.
На сервере Subversion в Mono есть компонент WebKit-Sharp. Я не могу найти какую-либо документацию для просмотра в Интернете, и я даже не уверен, что это WinForms или GTK# (не могу взять источник отсюда, чтобы проверить в данный момент), но это, вероятно, ваш лучший выбор, либо путь.
Я думаю, что этот компонент - оболочка CLI вокруг webkit для Ubuntu. Так что эта оболочка, скорее всего, может не работать на win32
Попробуйте проверить другой вариант - проект awesomium - обертка вокруг гугл-проекта " Chromium", использующего webkit. Также в awesomium есть такие функции, как интерактивные веб-страницы на трехмерных объектах в WPF.
Я смог сделать это с помощью CefSharp (который использует браузер Chromium).
Вот пара сообщений, которые показывают это в действии:
Существует OpenWebKitSharp, форк WebKit.NET 0.5 и очень продвинутый. Подробности: http://code.google.com/p/open-webkit-sharp/
Версия Qt 4 для Windows включает в себя как WebKit, так и классы для создания компонентов ActiveX. Возможно, это не идеальное решение, если вы еще не используете Qt.
Взгляните на библиотеку 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");
}
}
}
Запустив приведенный выше пример, вы получите следующий вывод:
Библиотека является коммерческой, однако она бесплатна для использования в Open-Source и академических проектах. Коммерческие лицензии включают пакеты поддержки для разных размеров команды. Также можно приобрести исходный код библиотеки.
Помимо собственной страницы, компонент доступен в виде пакета NuGet и пакета VSIX в Visual Studio Marketplace.
Попробуйте этот http://code.google.com/p/geckofx/ надеюсь, что это не обман или этот, я думаю, лучше http://webkitdotnet.sourceforge.net/
Я не думаю, что есть какой-то текущий, но в Google Code есть [едва документированный] проект со старой версией...