Подтвердить что ты не робот

Добавить новый элемент Microsoft Edge для управления веб-браузером?

Появилась новая Windows 10 с Microsoft Edge. Я хочу спросить вас, как я могу добавить его в свой веб-браузер? Мне это нужно, потому что фактический элемент управления веб-браузером не позволяет использовать JavaScript и CSS3.

Раньше я также добавлял браузер Chrome с проектами WebKit и Awesomium, но они не помнили учетные данные для входа (они мне нужны для моего приложения), поэтому я должен использовать I.E. к сожалению.

4b9b3361

Ответ 1

К сожалению, кажется, что в настоящее время нет способа использовать Edge в элементе управления веб-браузером MS без использования сторонних аддонов. Хотя предлагаемое "решение" для добавления dword: 00002ee1 в FEATURE_BROWSER_EMULATION заставляет webbrowser (ложно) сообщать Edge/12.9200_AGENT как USER_AGENT, на самом деле он все еще использует движок Trident для рендеринга веб-контента. Похоже, что Microsoft планировала поддерживать Edge в управлении веб-браузером, но не закончила и забыла вынуть соответствующий ключ эмуляции. Вы можете проверить это, просмотрев http://html5test.com/, где элемент управления веб-браузером оценивается между 342 и 347 точками (то же, что и IE11), а Edge - 397 пунктов.

Ответ 2

ОБНОВЛЕНИЕ Как указано в ответе @MartinKasztantowicz, на данный момент (середина февраля 16) не существует известного способа загрузки реального механизма рендеринга Edge. Следующее задает элемент управления, чтобы сообщить о новом пользовательском агенте, но использует старый механизм для рендеринга. Это полезно, тем не менее, для, например, убеждая сайты отключить устаревшие IE-хаки.

Версия браузера System.Windows.Forms.WebBrowser контролируется для каждого приложения ключом реестра. Если ваши пользователи находятся в Windows 10, вы можете указать элементу управления load fake Edge, добавив следующий ключ:

  • Для 64-битных приложений 32-разрядная только Windows или текущий пользователь: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1 соответственно [HKEY_CURRENT_USER\...]
  • Для 32-битных приложений на 64-битных машинах (только для всего машинного): [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1

Я только что протестировал и получил следующий результат... не знаю, есть ли какие-либо значения, чтобы также сообщить Windows 10:

введите описание изображения здесь

Ответ 3

Я бы хотел, чтобы кто-то упомянул об этом, поэтому я добавлю это, потому что это не похоже, что управление веб-браузером будет постоянно обновляться.

Вместо этого используйте элемент управления WebView. Для этого используется механизм рендеринга EdgeHTML. Это часть слоя WindowPresentation, но можно связать его с WinForms и, возможно, с другими приложениями.

import Windows.UI.Xaml.Controls.WebView

Пример кода: https://code.msdn.microsoft.com/windowsapps/XAML-WebView-control-sample-58ad63f7

Я еще не заменил свой WebBrowser на WebView, но интерфейс выглядит довольно знакомым.