![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Проблемы захвата ошибок JavaScript в ActiveX WebBrowser Internet Explorer через IOleCommandTargetDelphi , Технологии , ActiveXВведениеВ процессе разработки приложений, использующих компонент ActiveX WebBrowser от Internet Explorer, разработчики могут столкнуться с необходимостью захвата ошибок JavaScript. Одним из способов реализации такой функции является использование интерфейса IOleCommandTarget. В данной статье мы рассмотрим, как можно настроить захват ошибок JavaScript в MS IE ActiveX control, реализовав IOleCommandTarget в своем приложении и слушая событие OLECMDID_SHOWSCRIPTERROR. Описание проблемыПользователь столкнулся с проблемой, при которой метод Exec интерфейса IOleCommandTarget вызывается только один раз с параметром nCmdID, равным OLECMDID_PAGEACTIONBLOCKED, но не вызывается с OLECMDID_SHOWSCRIPTERROR, который необходим для захвата ошибок JavaScript. Пример кода, вызывающего ошибку, представлен ниже:
После возникновения ошибки пользователь ожидает, что метод Exec будет вызван, но это не происходит. Реализация IOleCommandTarget в DelphiПриведенный ниже код является примером реализации интерфейса IOleCommandTarget в Delphi:
Подтвержденный ответПользователь сообщает, что проблема была решена. Ошибка заключалась в неправильной настройке параметров отладки в Internet Explorer. Необходимо, чтобы параметр "Disable Script Debugging (Internet Explorer)" был отключен, а "Disable Script Debugging (Other)" - включен. Это нестандартное поведение, которое не документировано и было обнаружено спустя длительное время после публикации соответствующего сообщения на форуме. Решение проблемы через реестрДля программного решения проблемы можно использовать следующий код на Delphi, который изменяет настройки отладки в реестре:
ЗаключениеВ данной статье мы рассмотрели проблему захвата ошибок JavaScript в ActiveX WebBrowser Internet Explorer и ее решение через интерфейс IOleCommandTarget. Приведены примеры кода на Delphi и обсуждены нестандартные настройки отладки в Internet Explorer, которые необходимо учитывать при разработке приложений, использующих WebBrowser. Проблема заключается в необходимости захвата ошибок JavaScript в ActiveX WebBrowser Internet Explorer через интерфейс IOleCommandTarget, который не вызывается должным образом, и решена она через корректную настройку параметров отладки в Internet Explorer Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |