.NET WebBrowser управления JavaScript - PullRequest
0 голосов
/ 02 февраля 2009

Кто-нибудь знает, есть ли какая-либо ошибка или проблема с элементом управления activex webBrowser в приложениях .NET, в этом случае встроенный браузер загружает веб-страницу, которая зависит от javascript для воспроизведения музыкальных превью. Он работает один раз, но если вы переходите на новую страницу в системе, он перестает работать.

Просмотр одного и того же сайта только в обычном браузере IE не приводит к ошибкам вообще (проверено на нескольких системах различных типов).


Это происходит на нескольких разных ОС, XP 32 и 64 бит, Vista, Windows 7.

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

Это также большая живая система и множество жалоб.

Ответы [ 3 ]

4 голосов
/ 12 февраля 2012

Позвольте мне сказать вам это прямо. Механизм рендеринга по умолчанию в элементе управления WebBrowser исправлен для обеспечения совместимости на всех платформах.

По сути, если установленный вами браузер IE 7 - IE 9, то используется механизм рендеринга только IE 7.0 (по умолчанию).

Если, однако, ваша установленная версия IE - IE 6 или ниже, то используется механизм рендеринга IE 4.0, если, конечно, вы не установите его иначе.

Существует ошибочное мнение, что элемент управления WebBrowser использует то, что установлено в данный момент (текущая версия IE), но это не так, поскольку они делают это для уменьшения проблем обратной совместимости. Вы можете увидеть (как доказательство), что это действительно ваша проблема, перейдя на http://www.whatsmyuseragent.com в вашем обычном браузере, а затем снова зайдя на этот сайт в вашем контроле WebBrowser, вы увидите, что он говорит MSIE 7.0 :).

Я подозреваю, что ваши пользователи (и вы), работающие в IE 6.0, будут испытывать проблемы, на которые вы ссылались, поскольку их механизм рендеринга использует IE 4.0 (и IE 7, если они работают между IE 7 и IE9) , Это очень плохо, особенно если они работают в IE 6, вы должны попросить их обновить браузер, если они IE 6, тогда IE 7.0 будет использоваться независимо.

Я не уверен, что, когда выйдет IE 10.0, движок по умолчанию для элемента управления WebBrowser перейдет на 10.0 (если, конечно, в системе установлено 10.0) или он останется IE 7.0 даже после выхода IE 10.0, мы должны увидеть, как только он выйдет. Однако, если мы предположим, основываясь на предыдущем опыте, я подозреваю, что IE 10.0 будет последней версией, использующей механизм рендеринга IE 7.0, и когда выйдет IE 11, механизм рендеринга по умолчанию останется IE 11 для всех версий IE между IE 11. & IE 14. Это всего лишь предположение, экстраполируя то, что они сделали в прошлом.

Вы можете настроить элемент управления WebBrowser на использование текущей установленной версии Internet Explorer; если вам нужна дополнительная информация о том, как это сделать или как еще исправить механизм рендеринга, дайте мне знать, и я помогу вам с этим.

0 голосов
/ 26 июня 2009

Элемент управления веб-браузера использует ту же оболочку, что и установленная версия Internet Explorer, но, по моему опыту, полный браузер обрабатывает все более изящно.

Стоит добавить некоторую отладку в JavaScript, чтобы увидеть, в чем проблема - потому что longtail не регистрируется как загруженный, поэтому никакие события не являются связывающими, или это из-за проблемы с событиями.

0 голосов
/ 03 февраля 2009

Какую версию .net вы используете?

Также какая ОС?

Я заметил в Vista, что Java-апплеты <applet> вызывают катастрофические проблемы. Я считаю, что это связано с использованием Microsoft JVM для обработки java, которая сейчас не поддерживается. Это не происходит в XP из того, что я видел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...