Здравствуйте, qv, Вы писали:
qv>Почему? Разве не один и тот же движок используется? Как добиться корректного выполнения в компоненте, аналогичному самому IE?
Движок тот же, хост-приложение разное. Там IE, а у Вас собственное приложение.
Посмотрите здесь:
http://rsdn.org/forum/com/4195921Автор: Nikolaz
Дата: 15.03.11
Давно это было, но суть та же:
iWebBrowser как элемент управления просто ищет у хоста, на котором работает, реализацию определенных СОМ-интерфейсов.
Если этих реализаций нет, то "by default" как говорится.
В вашем случает именно так, и тот диалог, что Вы видите — это заглушка у iWebBrowser компонента. В IE естественно СОМ-интерфейс для этого реализован свой, поэтому и поведение другое.
Вам просто нужно реализовать свою обработку на OLECMDID_SHOWSCRIPTERROR. Деталей уже увы не помню, но направление куда "копать" я Вам дал
Здравствуйте, 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.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Здравствуйте, Мёртвый Даун, Вы писали:
МД>IWebBrowser2 который живет в mshtml.dll использует старый IE6.
Можно
попросить немного более свежий.