Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№104-07-2006 19:58:15

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

принудительное закрытие диалоговых окон

Здравствуйте.
Помогите пожалуйста решить проблему:
Расширение в грузит в нескольких параллельных табах страницы и обрабатывает их. В процессе загрузки страниц иногда всплывают диалоговые окна с запросами паролей и т.п. Как можно из расшения получить доступ к такому окну и придудительно закрыть его (не важно, какой кнопкой и не важно будет ли туда введено что-нибудь)?
Можно ли как-нибудь узнать что выплыло окно и отреагировать на это?

Спасибо.

Отсутствует

 

№204-07-2006 20:09:37

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: принудительное закрытие диалоговых окон

Есть, по меньшей мере, два варианта:
1. http://forum.mozilla.ru/viewtopic.php?id=10479
2. http://xpoint.ru/forums/programming/XUL … 6827.xhtml


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№305-07-2006 10:50:52

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

Re: принудительное закрытие диалоговых окон

Anton пишет

Есть, по меньшей мере, два варианта:
1. http://forum.mozilla.ru/viewtopic.php?id=10479

Эту тему видела, но не смогла понять как получить доступ к окну сообщения, чтобы перехватить аллерт. и куда надо вставить приведенный там код. Не расскажите подробнее? Дело в том, что я пока не очень хорошо разбираюсь в javаScript и XUL, а расширение написать надо... :)

За ссылку спасибо. Сейчас буду пробовать этот способ.

Отсутствует

 

№405-07-2006 11:37:04

Merlyel
псЫх
 
Группа: Extensions
Откуда: Уфа
Зарегистрирован: 20-12-2005
Сообщений: 2415

Re: принудительное закрытие диалоговых окон

Anton
Кстати, диалоговые окна с запросами паролей - это, кажется, не alert'ы, prompt'ы и confirm'ы. Поэтому так просто их перехватить не получится. Например, в tb чтобы не появлялось окошко об ошибке связи ausdilecce так и не удалось сделать - он только нажимает кнопку OK в таких окошках. Или мы все-таки тупим и как-то можно? Если да - плз пример ;)


жЫзнь рандомна... и ничего с этим не поделаешь ;)

Отсутствует

 

№505-07-2006 13:01:40

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

Re: принудительное закрытие диалоговых окон

Вроде получилось перехватывать загрузку диалоговых окон с запросами паролей, сообщей о сертификатах и т.п.
Для этого пришлось повесить оверлеи на
chrome://global/content/commonDialog.xul
chrome://mozapps/content/downloads/unknownContentType.xul
chrome://pippki/content/serverCertExpired.xul.
Самое сложное было найти какой xul файл за какой диалог отвечает. :)

Может где нибудь есть список всех элементов интерфейса mozilla с указанием в каком xul файле они описаны (а то пришлось довольно долго искать в исходниках)?

Отсутствует

 

№605-07-2006 13:11:17

Merlyel
псЫх
 
Группа: Extensions
Откуда: Уфа
Зарегистрирован: 20-12-2005
Сообщений: 2415

Re: принудительное закрытие диалоговых окон

Elena
А ты расширение DOM Inspector не пробовала? Делаешь, чтобы нужное тебе окошко появилось и через DOM Inspector смотришь - там указаны их xul-исходники.


жЫзнь рандомна... и ничего с этим не поделаешь ;)

Отсутствует

 

№705-07-2006 14:01:32

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

Re: принудительное закрытие диалоговых окон

Lynxx
Спасибо! он у меня даже стоит, но что-то из головы совсем вылетело. :)
Только вот некоторые из диалогов (видимо, модальные) блокируют доступ к меню firefox так что DOMInspector не могу вызвать...

Отсутствует

 

№805-07-2006 15:15:51

Merlyel
псЫх
 
Группа: Extensions
Откуда: Уфа
Зарегистрирован: 20-12-2005
Сообщений: 2415

Re: принудительное закрытие диалоговых окон

Elena
Запусти DOM Inspector в самом начале работы fx. И не закрывай его. Он будет доступен отдельным окном и не будет блокироваться алертами :)


жЫзнь рандомна... и ничего с этим не поделаешь ;)

Отсутствует

 

№905-07-2006 16:37:15

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

Re: принудительное закрытие диалоговых окон

Lynxx пишет

Elena
Запусти DOM Inspector в самом начале работы fx. И не закрывай его. Он будет доступен отдельным окном и не будет блокироваться алертами :)

Поняла. Спасибо. :)

Отсутствует

 

№1005-07-2006 18:11:34

Elena
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 24-05-2006
Сообщений: 65

Re: принудительное закрытие диалоговых окон

Еще вопрос: а все таки нет списка всех возможных диалоговых окон которые могут всплыть в процессе работы? а то получается их находить только эксперементальным путем (а это мееедленно :( и не факт что удасться отловить все возможные), а хотелось бы для всех сразу прописать оверлеи для блокировки...

Отсутствует

 

№1106-07-2006 00:59:48

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: принудительное закрытие диалоговых окон

Lynxx пишет

Anton
Кстати, диалоговые окна с запросами паролей - это, кажется, не alert'ы, prompt'ы и confirm'ы. Поэтому так просто их перехватить не получится. Например, в tb чтобы не появлялось окошко об ошибке связи ausdilecce так и не удалось сделать - он только нажимает кнопку OK в таких окошках. Или мы все-таки тупим и как-то можно? Если да - плз пример ;)

А из первого поста неочевидно, какие именно диалоговый окна подразумеваются - может, javascript просит некоторые пароли через window.prompt. Ну, раз уж речь о nsIPromptService, тогда только оверлеи. Или собственный компонент nsIPromptService - только, имхо, это будет сложнее, чем с оверлеями - компоненту придётся самостоятельно открывать нужные диалоги при необходимости (я (пока?) не знаю как вызвать метод из перекрытой компоненты).


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]