@TechNOIR

C#. Webbrowser. Некорректно работает Javascript.Как исправить?

Добрый день. В программу внедрен компонент WebBrowser. Через него по адресу https://avotron.ru/catalog/to/bmw/ не работает пагинация. Точнее первый ряд открывается, а второй и последующий не работают..
Есть идеи товарищи знатоки? Заранее благодарен

ScriptErrorsSuppressed включен для WebBrowser.
  • Вопрос задан
  • 2257 просмотров
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
ну.. раз уж WebBrowser а не WebView (как WPF и UWP) то WinForms.. кстати, стоит сразу уточнять подобные нюансы ;)

дело в том, что в формах, и в WPF - это старый, "добрый", "ослик" (IE, я даже не знаю когда и почему его стали звать "осликом", но какие то годы, это было весьма распространено).. (и ради бога - если у вас вин 10 - не путайте с Edge!!! только в UWP контроле WebView используется движок Edge, и все что ниже НЕ о нем)

.. ну и раз уж это IE... то:

1 - для начала проверьте сайт в IE той же системы, где разрабатываете и дебажите программу. если вдруг в "просто" IE, сайт отрабатывает вполне себе адекватно.. см пункт 2 .. если нет.. проверьте в Хроме, и читайте п3.. или ругайтесь с создателями сайта и/или с МС..

2 - у "встраиваемого" IE есть особенность (была до последних лет точно) - "опускать" себя на пару версий. это может показаться диким, но это был тактический ход, для обеспечения совместимости огромного количества корпоративного софта.. дальше я немного расскажу об этом..

- как узнать в том ли проблема?.. ну допустим тупо открыть https://2ip.ru/ .. в десктопном IE и в контроле своей проги - и сравните версии.. и если отличаются, читайте дальше..

- гуглите про ветку реестра HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION - что и как в нее писать... досадное неудобство, состоит в том, что каждый экзешник, который пользует именно IE, но хочет новейшие фичи - надо там прописать

- .. что еще досаднее, если вы планируете распространять свое творение (прогу) то ее надо будет обучить самопрописке (освоить работу с реестром)

3 - как обходной путь - можно сразу начать осваивать CEF# (но по собственному опыту скажу - новичку проще освоить то что описано выше.. в п2.. ;)))

ps

2++ ссылки по теме, прости, древние, но с ходу ни че пока не нашел
https://docs.microsoft.com/en-us/previous-versions...
davescoolblog.blogspot.ru/2011/04/ie9-document-mod...
www.thevista.ru/page11442-rezhim_sovmestimosti_i_i...

pps

2+++ не помни где это я нарыл.. (да и ослик меня уже лет несколько как утомил).. но см скрин - https://i.imgur.com/nWtlpPC.png

... в любом случае копать вам в эту сторону

ppps

кроме CEF# есть еще GeckoFX, лично мне в него "въезжать" было проще ;)) ... ну и другие нюансы есть... в частности, есть проекты, требующие поддержки изначального js ...... это редко востребованные ситуации, но я столкнулся ))... фокс оказался вне конкуренции... тем не менее - geckofx освежается на много реже чем CEF#... выбор завист от целей... и возможностей ))

ну и - UWP с Edge.. для винды оч даже хороший выбор ;)))... полный сапорт в МСДН... опять же короткий путь на витрину "магазина МС"... и ни каких "корпоративных" заморочек с версионностью движка... ;)))

pppps

плохая новость... ваша ссылка из текста вопроса - в "осле" 10ки (классическом IE) без всякого ограничения версионности - работает не адекватно.. так что либо ругачки с разрабами сайта/МС.. либо смена инструмента... WinForms/WPF с дефолтным контролом - вам не помогут..

в Edge, Chrome, Firefox - все пучком... то есть либо UWP (со встроенным Edge, и вагоном халявы) либо GeckoFx или CEF#

этот вердикт окончательный
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks Куратор тега C#
Может быть стоит выложить тексту ошибки? Ну а так выход только один - не использовать встроенный браузер!!!!!!! Есть множество различных браузерных фреймворков, например CEFSharp.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы