Visual studio браузер устарел

Обновлено: 07.07.2024

Коротко суть проблемы: по умолчанию компонент WebBrowser работает под версией IE7. Сейчас 2020 год и уже давно последней версией Internet Explorer служит 11-я версия. Можно было бы использовать и старую версию, но с тех пор появились новые JavaScript-методы, например, GetElementsByClassName. Поэтому в старой версии IE7 современные сайты откроются с многочисленными ошибками JavaScript.

1. Отключение ошибок скриптов.

В первую очередь, Вы можете воспользоваться настройкой отключения отображения ошибок JavaScript:

Данный трюк поможет мало, так как для современных сайтов все же нужен IE более новой версии. Зато браузер перестанет сыпать MessageBox с ошибками.

2. Изменение User-Agent Вашего браузера.

Сайт определил Ваш браузер как IE7, так как браузер в отправленном GET-запросе добавил заголовок:

Данное значение User-Agent соответствует IE7.

Данный момент решается следующим образом: создадим статический класс IeMethods со следующим кодом:

Из кода программы перед выполнением перехода на сайт вызовем метод SetAnotherUserAgent класса IeMethods и передадим строку со значением необходимого User-Agent:

Решит ли данный способ проблему ? Скорее всего нет. Все дело в том, что сайт на основании полученного от Вас заголовка User-Agent сформирует необходимый HTML-код. Программисты при разработке могут заложить поддержку IE9, IE11, Chrome и других браузеров. Но вряд ли кто-то будет закладывать поддержку IE7, все-таки слишком старый движок.

3. Изменение версии эмуляции IE.

Итак, мы добрались до основного. Эмулировать мы можем любую версию Internet Explorer. Главное понимать, что если в Вашей ОС установлен IE10, то в нем не будет поддержки IE11 или если в ОС установлен IE8, то нельзя эмулировать более поздние версии ))) Правило простое.

Еще раз, зачем что-то эмулировать?

Компания Microsoft заложила следующий функционал в каждую свою версию IE - возможность эмулировать более старую свою версию из новой версии. И по умолчанию компонент WebBrowser открывает сайты не под той версией Internet Explorer, который установлен в Вашей ОС, а под версией IE7 (а это старый движок, как я написал в начале статьи).

Как эмулировать версию IE ? Вариант только один, создать в реестре ключ типа DWord в Current User по адресу:

// Для x64 приложений SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION // Для x32 приложений SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

Имя ключа - это имя Вашего приложения (пример: WindowsFormsApp1.exe)

Значение ключа - специальный код версии IE, который нужно ввести в десятичном формате. Пример для эмуляции IE11 используя код 11001:

Таблица кодов для разных версий IE:

11001 (0x2AF9) - Internet Explorer 11. Webpages are displayed in IE11 edge mode, regardless of the !DOCTYPE directive.

11000 (0x2AF8) - IE11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 edge mode. Default value for IE11.

10001 (0×2711) - Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive

10000 (0×02710) - Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode. Default value for Internet Explorer 10.

9999 (0x270F) - Windows Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.

9000 (0×2328) - Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode. Default value for Internet Explorer 9.Important In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.

8888 (0x22B8) - Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.

8000 (0x1F40) - Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode. Default value for Internet Explorer 8Important In Internet Explorer 10, Webpages containing standards-based !DOCTYPE directives are displayed in IE10 Standards mode.

7000 (0x1B58) - Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode. Default value for applications hosting the WebBrowser Control.

Пора сделать метод эмуляции в коде нашего приложения. В класс IeMethods добавим метод SetBrowserEmulation с возможностью передачи ему параметра version типа integer.

В коде формы нашего приложения вызовем этот метод и передадим ему код 11001. Метод необходимо вызвать до создания компонента WebBrowser, поэтому поместим его вызов перед InitializeComponent.

Чтобы добиться максимального результата, необходимо использовать все 3 перечисленных выше способа, а именно:

Некоторые компоненты Microsoft Visual Studio 2015 и Microsoft Visual Studio 2013 работают неправильно, если в системе не установлен браузер Internet Explorer 10 или более поздней версии. Эта проблема проявляется только у пользователей Windows 7. При использовании Windows 8 и более поздних версий эта ошибка не возникает, так как все необходимые зависимые компоненты для браузера уже встроены в эти операционные системы.

Следующие компоненты не работают надлежащим образом при отсутствии браузера Internet Explorer 10 или более поздней версии.

Visual Studio 2013

Visual Studio 2015

Visual Studio 2013

Нагрузочное тестирование с использованием Team Foundation Service: при отображении средства Test Runner для нагрузочных тестов возникают ошибки

Были выполнены следующие действия.

  • Вы запустили нагрузочное тестирование с использованием Team Foundation Service.
  • Вы выбрали параметры Диспетчер нагрузочного теста и Средство выполнения нагрузочных тестов.

Если браузер Internet Explorer 10 или более поздней версии не установлен, при выполнении этих действий страница со сведениями о результатах тестирования отображается некорректно.

При отображении окон консоли JavaScript и Проводника DOM возникают ошибки

Visual Studio 2015

Отладчики и средства диагностики

Cloud Explorer

Эти проблемы возникают из-за того, что в Visual Studio 2015 и Visual Studio 2013 присутствуют компоненты, которые оптимизированы для работы с браузером Internet Explorer 10 или более поздних версий. Если браузер Internet Explorer 10 или более поздней версии не установлен, эти компоненты будут работать с ошибками.

Причина

Эти проблемы возникают из-за того, что в Visual Studio 2015 и Visual Studio 2013 присутствуют компоненты, которые оптимизированы для работы с браузером Internet Explorer 10 или более поздних версий. Если браузер Internet Explorer 10 или более поздней версии не установлен, эти компоненты будут работать с ошибками.

Решение

Чтобы устранить эти проблемы, установите Internet Explorer 10. Для полноценной поддержки консоли JavaScript и проводника DOM установите Internet Explorer 11.

Microsoft Logo

Gray Pipe

Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.

Лучший отвечающий

Вопрос

Ответы

Все ответы

я попробовал так сделать, но не получается. все-равно ИЕ 7

> я попробовал так сделать, но не получается. все-равно ИЕ 7

[Registry]
;Current User
Root: "HKCU"; Subkey: "Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: ". yourapp.exe"; ValueData: "0x2711"

;Local Machine
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: ". yourapp.exe"; ValueData: "0x270f"

;64 Bit Mode
Root: "HKLM"; Subkey: "SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION"; ValueType: dword; ValueName: ". yourapp.exe"; ValueData: "0x2711"; Check: IsWin64


создайте вручную 3 ключа и все получиться

Windows Registry Editor Version 5.00

[HKEY_CURENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
". yourapp"=dword:00002328


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
". yourapp"=dword:00002328


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
". yourapp"=dword:00002328

когда я отлаживаю в Visual Studio, Firefox открывается, и это раздражает из-за подключений, которые имеют Internet Explorer и Visual Studio, например, когда вы закрываете браузер Internet Explorer, который запускает отладку, Visual Studio останавливает отладку. Как я могу заставить Visual Studio открыть Internet Explorer без необходимости устанавливать Internet Explorer в качестве браузера по умолчанию?

Мне не нравится тот факт, что это не так просто, как должно быть.

в Visual Studio 2010 браузер по умолчанию сбрасывается часто (почти каждый раз, когда параметр IDE изменяется или даже после перезапуска Visual Studio). Сейчас наблюдается расширение выбора браузера по умолчанию для 2010, чтобы помочь бороться с этим:

. Обновление. похоже, что переключатель браузера по умолчанию WoVS больше не доступен бесплатно в соответствии с @Cory. Вы можете попробовать Изменение Браузера По Умолчанию вместо этого, но я не проверял. Если вы уже есть плагин WoVS, я бы рекомендовал его резервное копирование, чтобы вы могли установить его позже.

следующее решение может больше не работать:

WoVS Default Browser Switcher

Примечание: один отрицательный побочный эффект установки этого расширения заключается в том, что он, кажется, nag обновляется примерно раз в месяц. Это заставило некоторых удалить его, потому что для них его более надоедливым, чем проблема, которую он исправляет. Несмотря на это, он легко обновляется через менеджер расширений, и я по-прежнему считаю его очень полезным.

при запуске VS вы увидите следующую ошибку:

бета-биты переключателя браузера по умолчанию имеют истeкший. Пожалуйста, используйте Менеджер расширений или посетите VS Gallery, чтобы загрузить обновленные биты.

на MVC3 вы не нужно добавить любые фиктивные файлы, чтобы установить определенный браузер. Все, что вам нужно сделать, это:

  • "показать все файлы" для проекта
  • перейдите в папку bin
  • щелкните правой кнопкой мыши только .xml-файл, чтобы найти " обзор С. "вариант

setting MVC3 project default browser

щелкните правой кнопкой мыши файл aspx и выберите "обзор с". Я думаю, что там есть опция, чтобы установить по умолчанию.

в приложении MVC вам нужно щелкнуть правой кнопкой мыши по умолчанию.aspx, который является единственным "реальная" веб-страница в этом решении. Этот страница по умолчанию отображает " обзор с. "

Если вы используете приложение MVC 3-в обозревателе решений щелкните значок показать все файлы, а затем под глобальным.asax файл должен быть файл с именем YourProjectName.Издавать.XML щелкните его правой кнопкой мыши, а затем нажмите " Обзор С. "и выберите ваш любимый браузер по умолчанию.

в обозревателе решений щелкните правой кнопкой мыши любую страницу ASPX и выберите "обзор С" и выберите IE по умолчанию.

Примечание. те же шаги можно использовать, чтобы добавить Google Chrome в качестве опции браузера и дополнительно установить его в качестве браузера по умолчанию.

быстрое примечание, если у вас нет .aspx в вашем проекте (т. е. его XBAP), но вам все равно нужно отлаживать с помощью IE, просто добавьте страницу htm в свой проект и щелкните правой кнопкой мыши, чтобы установить значение по умолчанию. Это hacky, но он работает :P

вы также можете отлаживать firefox.

выполните следующие действия: Tool -> Attach to process и выберите firefox.exe или браузер по умолчанию. Тогда отладчик будет работать с этим браузером. Но у меня были некоторые проблемы, когда firefox-32 бит, а VS2010-64 бит.

в любом случае щелкните правой кнопкой мыши текущий документ, просмотрите с --> чем выбрать ваш браузер, чем установить его по умолчанию. Так будет лучше. B'потому что идентификатор процесса firefox может измениться, поэтому вы будете раздражены присоединением процесса снова.

https://msdnshared.blob.core.windows.net/media/2016/11/debugger-settings-1024x690.jpg

в visual studio 2013 Это можно сделать следующим образом:

1) Убедитесь, что вы выбрали проект запуска из окна исследования решения 2) это приносит выпадающее слева от отладки упасть. Вы можете выбрать браузер из этого нового выпадающего списка.

ключ должен быть проект, выбранный как start up

вы упомянули Visual Studio. Это для Visual Studio 2013. В " меню и инструменты "во второй строке , прямо под Debug у вас есть выпадающее окно, дающее вам список / опцию" эмуляторы".Ваш IE должен быть в опции, Выберите это, и вам хорошо идти. Подход.

Читайте также: