![]() |
|
Модераторы: MetalFan |
![]()
|
|
| Teran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
Иногда когда я загружаю страницу в TWebBrowser
выскакивает окно: Internet Explorer Script Error ..... Do you want to continue running scripts on this page? Yes No Как можно сделать чтоб при ошибках скриптов - это окно не покзывалась ???? -------------------- Ни цего не понимаю |
|||
|
||||
| Teran |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 590 Регистрация: 9.9.2005 Где: Украина, Запорожь е Репутация: нет Всего: 3 |
но когда эту же страницу(файл) загружаю грузиш IE - она грузится и никакие ошибки не выскакивают
-------------------- Ни цего не понимаю |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Таково поведение ком-объекта: даже если ты отключил в осле показ ошибок скрипта, он все равно их показывает.
1) Данная функциональность реализована в TEmbeddedWB 2) Если у тебя задача оооочень специфическая (ты чётко знаешь, какие страницы будут грузиться), то самое дешёвое решение - поставить Silent:=true. Но вообще так делать нельзя, потому что нарушается функциональность во многих других областях. 3) Можно перехватывать создание новых модальных окон и анализировать их... Это самый долгий трудный, но и самый универсальный способ... Так как JS Error - не единственное окно, из-за которого хочется скомкать и выбросить TWebBrowser. |
|||
|
||||
| Sergey912 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
December,
А можно поподробнее про третий способ, а то мне как раз окна нужны и только это не надо На каком уровне перехватывать окна? В самом браузере или на уровне приложения как-то нужно? И как это собственно реализовать на практике? Это сообщение отредактировал(а) Sergey912 - 19.1.2007, 10:33 |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Sergey912, смотри исходники TEmbeddedWB.
Когда я смотрел, было очень криво написано, но в 90% случаев работало. |
|||
|
||||
| TrillerMan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
А как в исходниках оно самое искать? какие функции з аэто отвечают за перехват этих окон и за глушение их?
А если у меня браузер visible:=false это окно всё ранво всплывёт или не будет появляться? |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
||||
|
||||
| TrillerMan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Ок спасибо большое,это только одна процедура? она уже за перехват всех функций отвечает ? буду рыть сорцы
|
|||
|
||||
| Sergey912 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
December,
Нашел процедуру, только непойму как это самому сделать? |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
лови...
|
|||
|
||||
| Sergey912 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
December,
Гм, не работает. Если первая процедура как я понял делает закрытие окна, то что делает вторая? Когда окно появляется ничего не срабатывает... |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
В интерфейсе формы пропиши procedure WMActivate(var Msg: TWMActivate) message WM_Activate;
как-то так |
|||
|
||||
| Sergey912 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 3.1.2007 Репутация: нет Всего: нет |
December,
Это я прописал для обоих функций, я говорю, что в таком виде код работать не хочет совсем и пропускает все JS ошибки. А как процедура WMActivate(var Msg: TWMActivate); их отлавливает? Может попробовать как-то подругому? |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: 1 Всего: 2 |
Можно подробней плиз? Почему Silent=True приведет к ошибкам, к каким? У меня стоит именно Silent=True, вроде все работает. Какие могут быть проблемы? Это сообщение отредактировал(а) Alexeyt - 7.2.2007, 11:26 |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 12 Всего: 57 |
Есть ещё как минимум 3 диалога, подавление которых приводит к некорректной работе страницы или окна. Это
1) HTTP Authorization 2) JS prompt() function 3) JS alert() function Думаю, есть и ещё диалоги, которые мне сразу в голову не пришли. |
|||
|
||||
![]()
|
| Правила форума "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. |