![]() |
Модераторы: MetalFan |
![]() ![]() ![]() |
|
Luceus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 24.3.2006 Репутация: нет Всего: 1 |
Здравствуйте!
Столкнулся со следующей задачей. Необходимо определить ссылку или объект, на котором произошел щелчок мыши в браузере (браузер может и не перегружаться, а просто выполниться JavaScript), с последующим анализом тега (какой айди, цвет текста и т.д.). Например, пользователь щелкнул на ссылке, и появился alert javascript'a. Необходимо определить на какую ссылку нажал пользователь. По сути, программа должна выполнять анализ тега при событии fireevent. Спасибо. С уважением. |
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: 1 Всего: 2 |
Luceus,
У WB есть события: OnBeforeNavigate2 OnDocumentComplete OnNavigateComplete Подойдет? |
|||
|
||||
Luceus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 24.3.2006 Репутация: нет Всего: 1 |
Alexeyt, как я могу узнать в событии OnBeforeNavigate2, что нажата именно эта ссылка? А если ссылка содержит обычный яваскрипт код? Тогда переадресации не будет.
|
|||
|
||||
Alexeyt |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: 1 Всего: 2 |
Luceus,
Там же есть пар-р URL. По нему ты не можешь узнать? |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Из "родных" для TWebBrowser событий файрится только OnCommandStateChange. Единственный выход здесь - ловить виндозные мессаги.
|
|||
|
||||
Luceus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 24.3.2006 Репутация: нет Всего: 1 |
Будем пробовать. Спасибо за ответ.
|
|||
|
||||
phanatos |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.8.2006 Репутация: 1 Всего: 2 |
Выход, слава богу, не единственный. Выхода всегда два... =)
Это делается так: 1) Этот незатейливый код - вспомогательный класс, экземпляр которого присваивается некоторому событию. Тут, по большому счету ничего и нет, кроме реализации IDispatch.
2) Далее, собственно, присваиваешь событию экземпляр TEventObject, в конструкторе которого указываешь нужный тебе метод-обработчик, в данном случае procedure Document_OnMouseMove(Doc: IHTMLDocument2);
3) Уже будет работать. Но не совсеми объектами. Вернее, при работе с IHtmlElement возможно неосвобожение памяти. Так, по крайней мере, сообщали на форуме Bsalsa. Нужно еще использовать приведенные ниже функцедуры:
Например так:
|
||||||||
|
|||||||||
bashsu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 27.2.2012 Репутация: нет Всего: нет |
Чёт у меня ни че не получается.
Может кто нить объяснить подробнее |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |