Есть ли способ использовать Google Chrome (или Safari или Firefox) в качестве браузера в приложении С#? С# теперь использует Internet Explorer, и веб-сайт, который они хотят использовать в этой программе, не поддерживает его.
Использовать chrome в качестве браузера в С#?
Ответ 1
Вы можете использовать WebKit.NET. Это оболочка С# для WebKit, которая является механизмом рендеринга, используемым Chrome.
Ответ 2
Вы можете использовать GeckoFX для встраивания firefox
Ответ 3
Я не знаю какого-либо полного компонента Chrome, но вы можете использовать WebKit, который является механизмом рендеринга, который использует Chrome. Проект Mono сделал WebKit Sharp, который может сработать для вас.
Ответ 4
Я использую Awesomium, я думаю, что это лучше, чем GeckoFX/WebKit http://awesomium.com
Ответ 5
OpenWebKitSharp дает вам полный контроль над WebKit Nightly, который очень близок к webkit с точки зрения производительности и совместимости. Chrome использует движок WebKit Chromium, а WebKit.NET использует Cairo и OpenWebKitSharp Nightly. Хром должен быть лучшим из этих сборников, а на 2-м месте должно появиться Nightly, и поэтому я предлагаю OpenWebKitSharp.
http://gt-web-software.webs.com/libraries.htm в разделе OpenWebKitSharp
Ответ 6
Я смог сделать это с помощью CefSharp.
Вот несколько сообщений, которые показывают это в действии:
Ответ 7
1/3/2017 → 3 января 2017 года
Привет, сегодня я нашел эту статью для достижения этой цели, статья называется "Создание HTML UI для настольных приложений .NET" и предназначена для встраивания управления на основе хрома в приложение WPF. Это спасло меня днем.
https://www.infoq.com/articles/html-desktop-net
Я надеюсь, что это поможет кому-то другому.
ПРИМЕЧАНИЕ: он основан на DotNetBrowser, см. лицензионное соглашение здесь: https://www.teamdev.com/dotnetbrowser-licence-agreement
Ответ 8
Попробуйте следующее: http://code.google.com/p/geckofx/
Ответ 9
Обновление за 2014 год:
Я использую geckofx, здоровый проект с открытым исходным кодом, который (на момент написания этой статьи) очень хорошо обновляется с последним Firefox релизов.
Чтобы внедрить Chrome, вы можете рассмотреть еще один здоровый перспективный проект с открытым исходным кодом Xilium.cefGlue на основе "Встроенная инфраструктура хрома" (CEF).
Оба из них поддерживают WPF и Winforms, и оба проекта поддерживают .net и mono.
Ответ 10
Взгляните на библиотеку 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");
}
}
}
Запустив приведенный выше пример, вы получите следующий вывод:
Библиотека коммерческая. Коммерческие лицензии включают пакеты поддержки для разных размеров команды. Также можно приобрести исходный код библиотеки.
Помимо собственной страницы, компонент доступен в виде пакета NuGet и пакета VSIX в Visual Studio Marketplace.
Ответ 11
Обновление 2016:
К сожалению, большинство вышеупомянутых решений устарели и больше не поддерживаются.
Есть 3 дополнительных параметра, которые я могу предложить, которые все еще активно развиваются:
Компонент .Net, который можно использовать для интеграции механизма Chrome в ваше .NET Application. На основе CefGlue, но немного быстрее при обновлении последней версии Chrome. Также имеется доступная коммерческая поддержка, которая может оказаться полезной для некоторых. Конечно, сам компонент с открытым исходным кодом.
Другой компонент .Net, который можно использовать для интеграции двигателя Firefox в ваше. Net-приложение. Это основано на Geckofx, но в отличие от текущей версии Geckofx это будет работать с обычной версией Firefox. Чтобы использовать Geckofx, вам нужно будет самостоятельно создавать Firefox. Опять коммерческая поддержка доступна, но сам компонент полностью с открытым исходным кодом.
Нужны ли все браузеры в вашем приложении .Net? Какой API-интерфейс BrowseEmAll Core вы можете интегрировать Chrome, Firefox, Webkit и Internet Explorer в ваше приложение. Это коммерческий продукт, хотя следует предупредить.
(Полное раскрытие: я работаю в этой компании, поэтому принимайте все, что я говорю, с солью)