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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№2604-02-2006 12:30:02

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Создание расширений для Seamonkey или Mozilla Suite.

Не удержался - решил выложить, удалось заменить стандартный диалог поиска на вызов панельки, в отличие от оригинала она по Ctrl+F умеет прятаться. На радостях поднял номер версии... :D
Findbar 0.0.2
(локали пока две, но как закончу с поиском - добавлю для всех языков.)


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№2704-02-2006 14:53:13

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Создание расширений для Seamonkey или Mozilla Suite.

Нужна помощь с nsITypeAheadFind, буду рад любой информации, особенно примерам использования... Удалось найти только описание на xulplanet.com.


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№2804-02-2006 18:40:03

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630

Re: Создание расширений для Seamonkey или Mozilla Suite.

ViRUS

Встречаем. Версия 0.0.1

Ща встретим.)))

дикая альфа

Чёт боязно, хоть не кусается?

вдруг где grippy вылезет

Если нельзя будет свернуть панель щелчком по панели (по этому самому гриппу)), то это будет не в духе Мозиллы-Симанки. Нет, дело хозяйское, конечно, но не удивляйся, если кого-то будет раздражать.

описанный Вами метод

Обидился? :)

Нашёл это в AiOS.

Находчивый!

Findbar 0.0.2

Не успеешь качнуть одно как тут же не успеешь другое.

Отсутствует

 

№2904-02-2006 19:10:29

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

Re: Создание расширений для Seamonkey или Mozilla Suite.

ViRUS пишет

Нужна помощь с nsITypeAheadFind, буду рад любой информации, особенно примерам использования... Удалось найти только описание на xulplanet.com.

Поэксперементировал в Extension Developer на FF. Вот результаты:
1. Создаём экземпляр объекта

Выделить код

Код:

var taf = Components. classes ["@mozilla.org/typeaheadfind;1"].
          createInstance (Components. interfaces. nsITypeAheadFind);

2. Инициализируем его свойством docShell браузера (я использовал дополнительный код)

Выделить код

Код:

function getTopWin ()
{
    var windowManager = Components. classes ['@mozilla.org/appshell/window-mediator;1']. getService();
    var windowManagerInterface = windowManager.
                                 QueryInterface (Components. interfaces. nsIWindowMediator);
    var topWindowOfType = windowManagerInterface. getMostRecentWindow ("navigator:browser");
    
    if (topWindowOfType)
    {
        return topWindowOfType;
    }
    return null;
}
var b = getTopWin (). getBrowser ();
var ds = b. docShell. QueryInterface (Components. interfaces. nsIDocShell);
taf. init (ds);

3. Устанавливаем значение свойства caseSensitive

Выделить код

Код:

taf. caseSensitive = false;

4. Ищем первое вхождение

Выделить код

Код:

print (taf. find ("hello", false));

Первый аргумент метода find - искомая строка, второй указывает на необходимость поиска только в ссылках (если равен true). Метод возвращает одно из трёх значений:

Выделить код

Код:

Components. interfaces. nsITypeAheadFind. FIND_FOUND = 0
Components. interfaces. nsITypeAheadFind. FIND_NOTFOUND = 1
Components. interfaces. nsITypeAheadFind. FIND_WRAPPED = 2

0 - найдено, 1 - не найдено, 2 - найдено в ссылке
Найденный текст выделяется.
5. Ищем следующее вхождение

Выделить код

Код:

print (taf. findNext ());

Метод findNext возвращает те же значения, что и метод find.
С методом setDocShell не разобрался.

Отредактировано Anton (04-02-2006 19:21:40)


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

Отсутствует

 

№3004-02-2006 21:36:21

INFOMAN
Телепаты в отпуске
 
Группа: Extensions
Откуда: Кишинев
Зарегистрирован: 31-12-2005
Сообщений: 1099
Веб-сайт

Re: Создание расширений для Seamonkey или Mozilla Suite.

М-да. Альфа действительно дикая. Хозяина не слушается.
Найти следующее/предыдущее не работает.
Подсветка работает криво - старая подсветка не отрубается при вводе нового слова.
Жду более ручных версий.

Отредактировано INFOMAN (04-02-2006 21:37:27)


Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL

Отсутствует

 

№3104-02-2006 23:33:19

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630

Re: Создание расширений для Seamonkey или Mozilla Suite.

Попробовал поставить 0.0.2 и что-то не вижу панели.
По логу ошибок нет.
В меню ничего не вижу нового, а должно.
findbar.jar лежит в chrome профиля.
Может быть из-за др расширений?
SM английская.
При поиске по мере набора панель не появляется.
В доминспекторе он есть выше статуса.

Открыл findbar.jar
выкинул  hidden="true"
панель появилась

не ищет
срабатывает только highlight all - когда кнопка нажата, а потом отжата
match case срабатывает
ещё срабатывает кнопка закрыть.))

Отсутствует

 

№3205-02-2006 01:21:08

INFOMAN
Телепаты в отпуске
 
Группа: Extensions
Откуда: Кишинев
Зарегистрирован: 31-12-2005
Сообщений: 1099
Веб-сайт

Re: Создание расширений для Seamonkey или Mozilla Suite.

У меня по ctrl+F появлялась


Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL

Отсутствует

 

№3305-02-2006 12:59:37

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

Re: Создание расширений для Seamonkey или Mozilla Suite.

ViRUS
Есть такое замечание по коду
А не проще ли "перекрыть" оверлеем стандартные команды поиска

Выделить код

Код:

<command id="Browser:Find" oncommand="showFindBar();"/>
<command id="Browser:FindAgain" oncommand="findNext();"/>
<command id="Browser:FindPrev" oncommand="findPrev();"/>

и обойтись в этом случае одним оверлеем ?


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

Отсутствует

 

№3405-02-2006 14:14:10

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Создание расширений для Seamonkey или Mozilla Suite.

Anton
это моё первое расширение, на нем я собственно и учусь. Оверлея два потому, что один перекрывает интерфейс, а другой именно команды поиска... За примеры спасибо - разбираюсь...


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№3505-02-2006 14:40:41

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

Re: Создание расширений для Seamonkey или Mozilla Suite.

ViRUS пишет

...Оверлея два потому, что один перекрывает интерфейс, а другой именно команды поиска...

Суть моего замечания не в количестве оверлеев. При нажатии Ctrl+F элемент

Выделить код

Код:

<key id="key_find"...

выполняет команду

Выделить код

Код:

<command id="Browser:Find"...

Поэтому можно перекрыть или

Выделить код

Код:

<key id="key_find"...
<key id="key_findAgain"...
<key id="key_findPrev"...

или соответствующие команды, тогда не надо указывать лишние key и command.
Мне больше нравится вариант с перекрытием command, т. к. в этом случае мне не пришлось иметь дело с атрибутами keyCode и modifiers.


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

Отсутствует

 

№3605-02-2006 16:09:18

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468

Re: Создание расширений для Seamonkey или Mozilla Suite.

Anton
Понял! ;) Щас поправлю...


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

Board footer

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