ошибки скриптов iWebBrowser
От: qv  
Дата: 21.06.18 09:35
Оценка:
Приветствую!

Если открыть сайт в контроле Microsoft Internet Explorer Web Browser, то в случае ошибки в скриптах он выведет диалог с ошибкой.
Если этот же сайт открыть в IE на этом же компе, то в консоли никаких ошибок скриптов не будет.

Почему? Разве не один и тот же движок используется? Как добиться корректного выполнения в компоненте, аналогичному самому IE?
Re: ошибки скриптов iWebBrowser
От: Aniskin  
Дата: 21.06.18 12:11
Оценка:
Здравствуйте, qv, Вы писали:

Может быть как-нибудь так: https://blogs.msdn.microsoft.com/patricka/2015/01/12/controlling-webbrowser-control-compatibility/
Re: ошибки скриптов iWebBrowser
От: Nikolaz Германия www.nikeware.com
Дата: 11.01.19 08:47
Оценка:
Здравствуйте, qv, Вы писали:
qv>Почему? Разве не один и тот же движок используется? Как добиться корректного выполнения в компоненте, аналогичному самому IE?
Движок тот же, хост-приложение разное. Там IE, а у Вас собственное приложение.

Посмотрите здесь: http://rsdn.org/forum/com/4195921
Автор: Nikolaz
Дата: 15.03.11


Давно это было, но суть та же:
iWebBrowser как элемент управления просто ищет у хоста, на котором работает, реализацию определенных СОМ-интерфейсов.
Если этих реализаций нет, то "by default" как говорится.
В вашем случает именно так, и тот диалог, что Вы видите — это заглушка у iWebBrowser компонента. В IE естественно СОМ-интерфейс для этого реализован свой, поэтому и поведение другое.
Вам просто нужно реализовать свою обработку на OLECMDID_SHOWSCRIPTERROR. Деталей уже увы не помню, но направление куда "копать" я Вам дал
Re: ошибки скриптов iWebBrowser
От: Мёртвый Даун Россия  
Дата: 26.02.19 11:24
Оценка:
Здравствуйте, qv, Вы писали:

qv>Почему? Разве не один и тот же движок используется? Как добиться корректного выполнения в компоненте, аналогичному самому IE?


IWebBrowser2 который живет в mshtml.dll использует старый IE6.

Я вот так делаю, в самом контроле (CHtmlWnd класс обертка над ним):
BOOL CHtmlWnd::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar) // Изменяем родительские свойства
{
    // Никаких ActiveX
    if (dispid == DISPID_AMBIENT_DLCONTROL)
    {
        pvar->vt = VT_I4;
        pvar->lVal = DLCTL_DLIMAGES | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_JAVA | DLCTL_NO_RUNACTIVEXCTLS;

        return TRUE;
    }

    return CWnd::OnAmbientProperty(pSite, dispid, pvar);
}


А потом в самой странице еще, которую хочу отобразить, в нужном тэге еще и обработчик OnError, можно прям в body.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: ошибки скриптов iWebBrowser
От: morgot  
Дата: 22.08.19 10:21
Оценка:
удалено
Отредактировано 25.08.2019 12:16 morgot . Предыдущая версия .
Re[2]: ошибки скриптов iWebBrowser
От: RonWilson Россия  
Дата: 11.01.23 10:58
Оценка:
Здравствуйте, Мёртвый Даун, Вы писали:

МД>IWebBrowser2 который живет в mshtml.dll использует старый IE6.


Можно попросить немного более свежий.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.