Visual studio 2019 нет webbrowser
Насколько я понимаю, элемент управления WebBrowser является оберткой для IE , которая не будет быть проблемой, за исключением того, что похоже, что это очень старая версия IE , со всем, что влечет за собой ошибки CSS, потенциальные угрозы безопасности (если механизм рендеринга не был исправлен, может Я действительно ожидаю, что проблемы переполнения буфера в zillion будут исправлены?) И другие проблемы.
Я хотел бы добавить хороший веб-браузер в свои приложения. В некоторых я просто использую его для управления процессом регистрации пользователей, взаимодействия с некоторыми функциями моего веб-сайта и другими вещами этого порядка, но я имею в виду другое приложение, которое потребует большего . контроля.
- Браузер, который может интегрироваться в окне моего приложения (не в отдельном окне)
- Хорошая поддержка CSS, js и других веб-технологий наравне с любым современным браузером
- Основные функции браузера, такие как "навигация", "назад", "перезагрузка" .
- Либеральный доступ к коду страницы и выводу.
Я думал о Chrome, поскольку он поставляется под лицензией BSD, но я был бы так же доволен последней версией IE.
Я открыт для предложений
Проект включает в себя Chromium Embedded Framework и используется в ряде крупных проектов, включая клиент Rdio для Windows, Facebook Messenger для Windows и Github для Windows.
Он имеет элементы управления браузером для WPF и Winforms и имеет множество функций и точек расширения. Будучи основанным на Chromium, он невероятно быстр.
Получите его из NuGet: Install-Package CefSharp.Wpf или Install-Package CefSharp.WinForms
Chrome использует (ответвление) Webkit, если вы не знали, что также используется Safari. Вот несколько вопросов того же рода:
Обновление (2014)
Я думаю , это браузер, используемый Origin в Battlefield 3.
Обновление (2016 г.)
В настоящее время есть DotnetBrowser , коммерческая альтернатива Awesomium. Он основан на хроме.
Посмотрите на элемент управления Mono.WebBrowser - он включает либо Gecko (как используется Firefox), либо WebKit (используемый Safari) в WinForms (без использования ActiveX).
Так что просто поставьте:
где-то в верхней части вашего документа.
Если, конечно, это не ваш документ, то это, очевидно, не поможет (хотя я лично считаю, что это дыра в безопасности, если вы читаете страницы, созданные не вами самими с помощью элемента управления веб-браузера, - почему бы просто не использовать веб-браузер? !)
Библиотека наследует многопроцессную архитектуру Chromium - каждая веб-страница отображается в отдельном процессе Chromium, и приложение продолжает работать даже после сбоя плагина или любой другой непредвиденной ошибки на веб-странице.
Ознакомьтесь с Справочником по API для получения дополнительной информации.
Приведенный ниже фрагмент кода демонстрирует, как создать BrowserView, внедрить его в форму и загрузить URL:
После запуска приведенного выше примера вы получите следующий вывод:
Библиотека является коммерческой, однако она бесплатна для использования в Open-Source и академических проектах. Коммерческие лицензии включают пакеты поддержки для разных размеров команды. Также можно приобрести исходный код библиотеки.
Помимо собственной страницы, компонент доступен в виде пакета NuGet и в виде пакет VSIX в Visual Studio Marketplace.
Я пробовал несколько вариантов Webkit, но по моему опыту ничто не сравнится с достижениями, которые OpenWebkitSharp имеет. Любите это любите это .. Оценки HTML5 и CSS3 настолько близки, насколько они могут добраться до Google Chrome. Очень хорошая API и модель событий. Если вы найдете «не реализованные» API, скорее всего, потому что они не реализованы в Webkit. Все остальное прекрасно работает.
Я использовал GeckoFX, и он мне очень помогает. Он использует движок Firefox. Единственное предостережение, с которым я когда-либо сталкивался, это то, что он генерирует событие «DocumentLoaded» один раз до того, как документ действительно полностью загружен . Я думаю, что он выбрасывает один, когда HTML загружается, а затем еще один, когда все изображения и прочее загружены. Я исправил это, просто проигнорировав первый, и до сих пор он работал прекрасно.
Как и большинство приличных библиотек, он с открытым исходным кодом.
Примечание. Это коммерчески лицензированный продукт, и я не буду продвигать его с учетом этого. Попробовав другие вещи, я выбрал именно это.
Обновление 2016 года:
Есть 3 дополнительных варианта, которые я могу предложить:
(Полное раскрытие информации: я работаю в этой компании, поэтому все, что я говорю, берут с солью)
ОБНОВЛЕНИЕ 2018 МАЯ
Пример WPF:
1) Установите пакет Nuget для Windows Community Toolkit
Пример WinForms:
Пожалуйста, обратитесь к этому ссылка для получения дополнительной информации.
Примечание. Эта библиотека находится на стадии предварительного просмотра.
Проверьте GeckoFX элемент управления.
Я перепробовал все браузеры, которые там есть. К сожалению, единственным, кто действительно работал на меня при любых обстоятельствах, был Э.Браузер. Хотелось бы выбрать бесплатное решение, но я остановился на EO.Browser. Это довольно дорого, но в хорошем состоянии.
Обновление 2016 года:
Для меня единственная надежная браузерная альтернатива IE - это EO.WebBrowser. Я потратил дни и недели, пробуя другие. У всех них были некоторые проблемы, которые остановили шоу для меня в какой-то момент.
Похожие вопросы
Популярные теги
Чтобы создать сегодня свой сайт, совсем необязательно знать языки программирования, большинство веб-ресурсов не пишется, а собирается в различных программах-конструкторах, получивших в последнее время широкое распространение. Конструкторы эти становятся настолько совершенными, что создавать в них можно даже собственные десктопные приложения. Пример работы в одном из таких конструкторов мы сегодня рассмотрим, создав в нём с нуля свой браузер.
Естественно, браузер будет обладать минимальным набором функций, но ведь мы и не претендуем на звание профессиональных разработчиков. В качестве конструктора мы будем использовать Visual Studio Community 2019 — бесплатную интегрированную среду разработки для написания и запуска кода на разных платформах. Название может показаться пугающим, в действительности ничего такого архисложного нет, код писать почти не придется, вместо него мы будем собирать его готовые блоки, представленные графическими элементами.
Выбираем установку Visual Studio Community 2019.
Процедура займет определенное время, поскольку потребуется скачать более гигабайта данных.
По завершении установки и запуска платформы.
Выбираем в меню «Создание проекта».
Жмем «Далее», даем будущему браузеру имя и нажимаем «Создать».
Через несколько секунд перед нами предстает пустая форма, в ней будем размещать элементы управления веб-обозревателем. Вызываем нажатием на узкую полоску слева панель инструментов, раскрываем пункт «Все формы Windows Form» и выбираем двойным кликом «WebBrowser».
Справа располагаются другие две панели, верхняя содержит список файлов проекта, нижняя — свойства пока еще пустого окна. Здесь можно изменять параметры выбранного элемента — устанавливать размеры окна, его прозрачность, фон, включать и отключать полосы прокрутки и так далее. Если это будет не окно, а другой элемент, скажем, кнопка, то и параметры будут другие.
Рабочее окно уже есть, теперь следует позаботиться об элементах управления. Создадим область для панели инструментов обозревателя. Кликаем по маленькой иконке-треугольнику около кнопки закрытия окна и жмем «Открепить в родительском контейнере».
А затем растягиваем появившуюся пунктирную линию в окне будущего браузера, формируя таким образом панель управления.
Желающие также могут создать текстовое поле для ввода текстовых данных (TextBox) и кнопки перехода, но мы ограничимся четырьмя элементами. Разместив их на форме должным образом, кликаем по каждому из них и настраиваем их параметры — даем им соответствующие наименования, меняем, если нужно, цвет и так далее. Теперь настала пора самого главного — назначения управляющим элементам действий. Для этого дважды кликаем по каждой из кнопок и прописываем в месте, где установился курсор следующий код:
Сохраняем результат через меню «Файл» -> «Сохранить всё» и запускаем компиляцию приложения нажатием кнопки «Пуск» на панели управления средой разработки (исполняемый файл находится в папке проекта) .
Через несколько секунд собственноручно сконструированный браузер запустится.
Если элементы на форме окажутся не там, где предполагалось, исправляем, перемещая их в визуальном редакторе.
Конечно, это будет очень простой браузер без закладок, поддержки тем и расширений, да и корректность отображения сайтов в нём в не гарантируется, зато вы можете быть уверены в его «чистоте».
Размер созданного браузера у нас составил всего 9,5 килобайт, но этого вполне хватило, чтобы вместить в него базовый функционал, обеспечивающий не только веб-серфинг, но и скачивание файлов, а также просмотр мультимедийного контента в потоковом режиме.
Начало
Для начала запускаем Visual Studio создаем новый проект windows forms в среде Visual Basic.
Ничегошеньки не меняем, сохраняем весь проект в папку по умолчанию.
У меня: C:\Users\Jey\Documents\Visual Studio 2012\Projects
Разворот
Переключаем окна обратно в Visual Studio справа (по умолчанию) в панели элементов щелкаем правой
кнопкой мыши, и выбираем в появившемся контекстном меню Выбрать элементы. Откроется окно «Выбор
элементов панели элементов»(Мелкомягкая тавтология). На вкладке Компоненты NET.Framework (отрыта по умолчанию)
нажимаем кнопку обзор, и из папки куда разархивировали архив выбираем WebKitBrowser.dll в моем случае путь к
библиотеке оказался таким:
«C:\Users\Jey\Documents\Visual Studio 2012\Projects\WebKit\WebKit\bin\Debug\WebKitBrowse r.dll».
Теперь в панели элементов под обычным WebBrowser будет еще и WebKitBrowser.
Ну для примера закидываем его на форму:
И сверху формы для красивости можно закинуть ToolStrip и разместить на нем четыре кнопки и Textbox.
В свойствах WebKitBrowser1 находим свойство Anchor и пишем значение "Top, Bottom, Left, Right". Это позволит окну
браузера автоматически масштабироваться под окружающие его элементы (в нашем случае по бокам и снизу бордюры
формы, а сверху ToolStrip меню) при изменение размеров формы.
И теперь все это выглядит вот так:
Пишем код для кнопок:
Компилируем и наслаждаемся своим браузером на WebKit.
Заключение
При компиляции, например в конфигурации release Visual Studio сама перенесет библиотеку «WebKitBrowser.dll» в соответствующий каталог, но этого будет недостаточно для запуска, по крайней мере у меня не запустился браузер. Это говорит о том что нужно таскать за программой все остальное содержимое папки bin из архива с компонентом. И в подтверждение этому в архиве есть README.TXT в котором написано:
В определенный момент мне стало некомфортно использовать стандартный контрол WebBrowser, предлагаемый Visual Studio.
Причин было несколько:
1. Использовался IE-движок, что само по себе уже сильный аргумент.
2. Кривая работа с JS.
3. Отсутствие масштабирования.
4. Если запустить на машине, где стоит IE6, то все его «достоинства» переносятся на приложение.
В итоге был начат поиск альтернативных решений.
Было рассмотрено 2 SDK. xulrunner(Mozilla) и Awesomium(Chrome)
Подключение обоих происходит примерно одинаково, но на всякий случай опишу оба.
По данной ссылке заходим в папку с выбранной версией, далее sdk/xulrunner-X.X.en-US.win32.sdk.zip
шаг 2
Скачиваем и распаковываем содержимое. Нас интересует из архива только папочка bin. Копируем ее в папку с приложением и переименовываем в xulrunner. Имя можно и другое, но чтобы не было различий с моим описанием, лучше имя сделать такое.
шаг 4
В нашем приложении добавляем в References Skybound.Gecko.dll из скачанного архива
шаг 5
Правим класс Program:
Инициализируем контрол браузера:
По данному коду родительской панелью будет panel1
шаг 6
Чтобы выполнить программно какой-либо JavaScript пришлось идти на ухищрения, т.к. то ли функции, которые для этого по идее предназначены не дописаны в этой версии, то ли что-то еще. Но выход я нашел только такой:
Минусом является то, что нельзя получить результат обработки, только в виде alert();
Данная проблема также стала причиной того, что я начал искать замену и пришел к Awesomium
шаг 2
Подключаем к проекту библиотеки
Awesomium.Core.dll
Awesomium.Windows.Forms.dll
шаг 3
В Toolbox кликаем правой кнопкой и выбираем Choose Items. Далее жмем browse и подключаем Awesomium.Windows.Forms.dll, после этого у нас появится новые контролы WebControl, AddressBox и т.д. Нам в первую очередь важен WebControl
шаг 4
Размещаем контрол в дизайне
шаг 5
Примеры использования различных функций.
500 — это таймаут.
Вызов JS функции
al — это имя функции
второй параметр передает значения в фунцию. В данном случае он пустой.
Приведенные примеры работают на Awesomium 1.6.5, в версии 1.7 немного изменена архитектура и некоторые методы могут отсутствовать или вызываться по другому.
Выводы
На текущий момент во всех проектах, где нужен браузер, использую Awesomium: он и работает стабильнее и функционал побогаче. Нагрузка от него небольшая. Единственный минус — это то, что не отрабатывает клик правой кнопкой по флешу, потому нельзя поменять необходимые параметры(возможно я просто не разобрался как). В остальном данная SDK меня во всем устроила.
Здравствуйте.
На компьютере в универе стоит среда Visual Studio 2010, но на домашнем ноутбуке (Windows 8.1) я сколько не пытался установить эту же версию мне выбивает ошибку совместимости (с английской версией программы такого нет). Так вот, можно ли настроить Visual Studio 2019 чтобы он использовал только всё то, что может и Visual Studio 2010 и не было потом, что проект не запустится?
В новой версии приложения реализовать совместимость с файлами предыдущей
Проблема следующая: есть старая учётная системка написанная кем-то и когда-то на Дельфях. Для.
Копирование файлов с новой версией
Доброго дня Помогите пожалуйста Есть три компьютера с шарами. На первом компьютере я выкладываю.
Непонятки с новой версией ЕГЭ по информатике
Всем доброго времени суток. В этом году я заканчиваю колледж по специальности ПО ВТ и АС и решил.
Проект запускается от платформы, а не от студии.
При создании проекта выбирайте нужную версию платформы и проблемы решены.
Решение
При необходимости можно и при работе с проектом менять платформу.
Обозреватель решений - свойства проекта
Скрипт не работает с новой версией Jquery
Всем приветик! Вот этот код работает под jQuery 1.3.1, но совсем не хочет работать под jQuery.
Обновление программы: распаковать архив с новой версией
Так как на предыдущую тему ответа не нашел. решил придумать способ обновления через архив (т.е.
ClickOnce-приложение: при обновлении новой версией появляется ошибка
есть clickonce приложение, работает нормально, тоько при обновлении новой версией появляется.
После открытия проекта новой версией проект ругается сильно
Есть объявление шаблона в старом формате: в "древней версии" поддерживалось скажем так и выглядит.
Не получается добавить apk с новой версией приложения в Google Play
Я хотел выложить новую версию приложения в google play, но при загрузке возникла ошибка: у старого.
В чем преимущества версии Pro перед версией Home для обычного пользователя?
У меня вопрос: в чем преимущества версии Pro перед Home для обычного пользователя? Вот кроме как.
Читайте также: