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

На IRC-канале #mozilla-ru можно получить техническую консультацию онлайн и, конечно же, порцию общения.

№20106-10-2012 00:15:24

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 15.0

Re: [CB]Toggle Find+

bunda1
Да, по идее правильно, проверь.
p.s.: у тебя в стиле в конце опечатка: ненужная закрывающая квадратная скобка.


mzfx

Отсутствует

 

№20206-10-2012 17:51:16

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

Спасибо, работает.
Запишу тебя в авторы кнопки 09-03-2012 19:18:31 :)

Отсутствует

 

№20307-10-2012 00:02:43

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi

1. Если в поиск начать вписывать букву за буквой (так, чтобы получилась длинная абракадабра, которой точно нет на странице) - то при добавлении новых букв - цвет фона поля поиска меняется с красного (сигнализирующего о том, что на странице нет искомой фразы) на белый (сигнализирующий, что фраза на странице есть).

Исправил: Toggle Find+3

Добавлено 07-10-2012 00:08:27
Удалил добавленные атрибута "red" из кнопки, вместо него когда нужно добавляется status="notfound" и Firefox сам добавляет красный цвет в поисковую форму

Удалил теперь не нужный код:

Выделить код

Код:

#FindToolbar[red] .findbar-textbox {
    box-shadow: 0 0 0 1em #f66 inset; }

Удалил лишний код :):

Выделить код

Код:

#FindToolbar:not([red]) .findbar-textbox[status="notfound"] {
    background: rgba(207,219,236,0.99) !important;
    color: black !important;
    box-shadow: none !important; }

Отредактировано bunda1 (07-10-2012 00:10:36)

Отсутствует

 

№20407-11-2012 13:08:34

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

Кнопка вываливает в консоль ошибок такое предупреждение:
Warning: Use of Mutation Events is deprecated. Use MutationObserver instead.
Source File: chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button22@init
Line: 647


mzfx

Отсутствует

 

№20507-11-2012 18:26:58

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi
У меня такой ошибки не наблюдается. :(
А ты какую версию Toggle Find+3 используешь, откуда? А то у меня Line: 647:

Выделить код

Код:

}, false);

и там такой ошибки быть не может.

Отсутствует

 

№20607-11-2012 19:24:15

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

у меня тоже 647-ая строка такая же.
может пустые строки не считаются?
event.preventDefault();
не может быть причиной?


mzfx

Отсутствует

 

№20707-11-2012 19:38:37

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4290
UA: Firefox 16.0

Re: [CB]Toggle Find+

Причина в использовании mutation events.
Там в коде два вызова .addEventListener("DOMAttrModified", ...


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№20807-11-2012 19:48:55

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

Спасибо, буду думать чем заменить DOMAttrModified

Отредактировано bunda1 (07-11-2012 19:49:11)

Отсутствует

 

№20907-11-2012 20:28:35

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

bunda1
на той же странице сказано:
Use Mutation Observers instead if possible.
И там всё расписано и даже пример есть.


mzfx

Отсутствует

 

№21007-11-2012 20:34:04

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4290
UA: Firefox 16.0

Re: [CB]Toggle Find+

iDev.Pi
Раньше там даже примера не было, только несколько ссылок. :)
Так что было забавно: «вы этот свой старый код лучше выкиньте, но дальше как-нибудь сами».

Самая полезная, про настройки для

Выделить код

Код:

void observe(
  Node target,
  optional MutationObserverInit options
);

The options argument allows for setting mutation observation options via object members. These are the object members that can be used:

(и далее)

Отредактировано Infocatcher (07-11-2012 20:35:03)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№21107-11-2012 21:22:09

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

А вот пример бы не помешал, где там пример? А то я на английском не очень.

Отсутствует

 

№21207-11-2012 21:47:34

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

bunda1

Выделить код

Код:

// выбираем целевой узел
var target = document.querySelector('#some-id');
  
// создаём наблюдателя
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    console.log(mutation.type);
  });   
});
  
// конфигурируем наблюдателя
var config = { attributes: true, childList: true, characterData: true }

// делаем вызов функции, указав целевой узел и опции вызова
observer.observe(target, config);

// потом можем остановить наблюдение
observer.disconnect();

вот рабочий пример: http://jsbin.com/ivamoh/53/edit

Отредактировано iDev.Pi (07-11-2012 21:52:51)


mzfx

Отсутствует

 

№21307-11-2012 22:43:21

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

Спасыбо за пример, полезная вещь и работает:

Выделить код

Код:

// Поле текстового ввода на Findbar мигает желтим если достигнут низ/верх страницы
// выбираем целевой узел
var target = gFindBar.getElement("find-status-icon");
  
// создаём наблюдателя
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    gFindBar.setAttribute("flash", "true");
    setTimeout(function() { gFindBar.removeAttribute("flash") }, 700)
  });   
});
  
// конфигурируем наблюдателя
var config = { attributes: true, childList: true, characterData: true }

// делаем вызов функции, указав целевой узел и опции вызова
observer.observe(target, config);

Но как то:

Выделить код

Код:

var findStatus = gFindBar.getElement("find-status-icon");
findStatus.addEventListener("DOMAttrModified" ......

был привычней и понятней.

Отредактировано bunda1 (07-11-2012 22:54:28)

Отсутствует

 

№21407-11-2012 22:45:47

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

по-моему, в битве длины кода против скорости его работы - скорость решает.
только машинные коды, только хардкор!

Отредактировано iDev.Pi (07-11-2012 22:46:55)


mzfx

Отсутствует

 

№21507-11-2012 22:57:33

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi
Ты конечно прав, но мне как то не по себе когда вижу такой код. :)

Отсутствует

 

№21607-11-2012 22:59:37

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4290
UA: Firefox 16.0

Re: [CB]Toggle Find+

bunda1
Я так понимаю, «characterData: true» в данном случае не требуется:

characterData
    Set to true if mutations to target's data are to be observed.

и

Note: CharacterData is an abstract interface and does not exist as node. It is used by Text, Comment, and ProcessingInstruction nodes.

В общем, не про атрибуты это. :)

И если не нужно отслеживать изменение атрибутов дочерних узлов, то и «childList: true» тоже не нужен:

childList
    Set to true if mutations to target's children are to be observed.

И можно добавить
{ attributes: true, attributeFilter: ["status"] }
(или какой-том атрибут меняется?)

Добавлено 07-11-2012 23:08:33
А еще MutationCallback может быть не только функцией, но и объектом с методом handleMutations().
Правда, это почему-то не указано в доке. Зато можно подсунуть пустой объект и будет соответствующим образом ругаться.

Добавлено 07-11-2012 23:10:28
Как-то так:

Ошибка: [Exception... "'JavaScript component does not have a method named: "handleMutations"' when calling method: [nsIMutationObserverCallback::handleMutations]"  nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0"  data: no]

Отредактировано Infocatcher (07-11-2012 23:10:28)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№21707-11-2012 23:22:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

Спасибо, уже меньше кода и работает:

Выделить код

Код:

// Поле текстового ввода на Findbar мигает желтим если достигнут низ/верх страницы
// создаём наблюдателя
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    gFindBar.setAttribute("flash", "true");
    setTimeout(function() { gFindBar.removeAttribute("flash") }, 700)
  });   
});
// конфигурируем наблюдателя
var config = { attributes: true, attributeFilter: ["status"] }

// делаем вызов функции, указав целевой узел и опции вызова
observer.observe(gFindBar.getElement("find-status-icon"), config );

Отредактировано bunda1 (07-11-2012 23:24:46)

Отсутствует

 

№21808-11-2012 08:33:44

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 16.0

Re: [CB]Toggle Find+

bunda1
Можешь помочь с №5708?

Отсутствует

 

№21909-11-2012 00:10:58

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: unknown 0.0

Re: [CB]Toggle Find+

bunda1
С этим тоже надо решать :

Выделить код

Код:

// Автоматически очищать поле текстового ввода на Findbar ....................................................
gFindBar.addEventListener("DOMAttrModified", function(event) {
  if ( gFindBar.hidden ) { this.clear = true };
  if ( !custombuttons.getPrefs("FindBar.autoclear") ) return;
  if ( !this.clear ) return;
       if ( gFindBar.hidden ) {
            if ( gFindBar._findField.value ) { window.FB_fFval = gFindBar._findField.value };
                 gFindBar._findField.value = '';
            }
       else 
            {
            findFieldClear(event);
            this.clear = false;
            };
}, false);

P.S. Для меня не критично.Я этой опцией не пользуюсь - удалил этот код у себя из кнопки.

Отредактировано SendInfo (09-11-2012 00:16:53)

Отсутствует

 

№22009-11-2012 00:45:25

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

Ок, решим.

Отредактировано bunda1 (09-11-2012 00:46:43)

Отсутствует

 

№22110-11-2012 18:08:11

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi пишет:

Кнопка вываливает в консоль ошибок такое предупреждение:
Warning: Use of Mutation Events is deprecated. Use MutationObserver instead.

Ну вроде исправил и код оптимизировал: http://forum.mozilla-russia.org/uploaded/Toggle Find+3

Отредактировано bunda1 (12-11-2012 22:30:46)

Отсутствует

 

№22219-11-2012 15:51:02

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi
Как подружить FindBar мини с  Personas :: Add-ons for Firefox - Mozilla Firefox

Отсутствует

 

№22319-11-2012 19:16:49

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 16.0

Re: [CB]Toggle Find+

bunda1
это надо менять стили самих персон: если в них указан слишком конкретный путь до файндбара в правиле - ты ничего с этим не поделаешь, если у тебя путь другой.


mzfx

Отсутствует

 

№22419-11-2012 19:35:14

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4780
UA: Firefox 3.6

Re: [CB]Toggle Find+

iDev.Pi
Какие стили самих персон? :(
Мне казалось что обои это просто две файла профиле lightweighttheme-footer и lightweighttheme-header которые используются как фоновое изображение.

Отсутствует

 

№22513-12-2012 00:56:23

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 2447
UA: Firefox 20.0

Re: [CB]Toggle Find+

На [nightly] сегодня отвалилась

Отсутствует

 

Board footer

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