![]() |
|
Модераторы: MetalFan |
![]()
|
|
| Ищущий! |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 19.4.2005 Репутация: нет Всего: нет |
Есть такая страничка.. Загружается в TWebBrower
Проблема такая, что выскакивает сообщение, мол хотите закрыть страницу?... Нужно перехватить... или как-нить предотвратить это... можно посредством отключения JavaScript'а, но только для одного конкретного WebBrowera ... Мож кто поможет |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
По идее, JavaScript интерпритатор грузиться как COM объект, и соответсвенно ты можешь достать его как минимум через GetActiveObject. Так что для начала я бы поискал инфу об интерпритаторе.
А так вообще проблема интересная. Тут можно подумать. Можно попытаться отлавливать и создание окна. Можно ли отключить на время выполнения JavaScript'a не знаю, тоже можно поискать. -------------------- Волны гасят ветер... |
|||
|
||||
| Ищущий! |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 19.4.2005 Репутация: нет Всего: нет |
Вот бы кто поискал
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Можно... Только ещё не знаю, как
Ищущий! Можешь посмотреть на реализацию TEmbeddedWB - там есть такая или почти такая фишка, кажется. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Как в TWebBrowser определить на какой инпут был произведён клик и как выташить его содержимоё?
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Модератор: один топик - один вопрос!
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 6 Всего: 155 |
Попробуй... например вот так
PS: Можно просто засунуть в OnCreate формы только вот енто ChangeFunc($c3c031), а весь остальной код выкинуть(кроме самой конечно функции ChangeFunc)... Это сообщение отредактировал(а) Girder - 13.5.2005, 15:59 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Girder
Ай-ай-ай, нехорошо таким хаком заниматься. -------------------- Волны гасят ветер... |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Girder
Круто. А поделись секретом, какую литературу надо прочитать, чтобы додуматься до этого метода? |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 6 Всего: 155 |
December
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
December Ну в принципе, перехват API - метод достадочно известный... Только не очень приветсвуемый.
Girder, да похоже ты прав. Единственно, что похоже вторая часть (где затираются "windows.close()") не очень нужна - ему вроде не убить скрипт надо, а предотвратить окно. Если ты перехватил функцию создания мессадж бокса, то этого должно быть достадочно. Разве что неплохо бы вместо заглушки написать свою функцию, которая бы анализировала входящие параметры и вызывала бы стандартную (сохраненную) функцию, если этот бокс создает не WebBrowser. -------------------- Волны гасят ветер... |
|||
|
||||
| Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 6 Всего: 155 |
Срезает: window.close(); ... self.close(); PS: символы: <> перед <script DEFER> удалять не надо... можете например заменить их на <BR> или например так: s:=#255+'<script DEFER> window.close=closex; function closex(){}</script>'; хоть любой HTML элемент - но только не заменяйте на пробельных символы!... так как в ентом случаи скрипт не выполнится - как следствие работать код не будет. Удачи. Это сообщение отредактировал(а) Girder - 17.5.2005, 02:00 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Ты же говорил, что NavigateComplete2 выполняется после исполнения скриптов в global scope.
Так постановка задачи была все-таки подавить окно с сообщением, а не саму функцию. -------------------- Волны гасят ветер... |
||||
|
|||||
| Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 6 Всего: 155 |
Это сообщение отредактировал(а) Girder - 17.5.2005, 12:31 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Так я про это и говорю. Мне просто показалось, что требовалось подавить сообщение, но сама функциональность должна была остаться (то есть окно должно было закрыться), однако перечитав первое сообщение, понял, что был не прав.
Ну так, я же говорил, что в этом браузере такая куча интерфейсов, что что-нибудь должно помочь. -------------------- Волны гасят ветер... |
||||
|
|||||
![]()
|
| Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |