Привет.
Вообщем пишу небольшое расширение, пока что тестирую код под CustomButtons.
В Observer на http-on-modify-request урл проверяется массивом RegExp`ов, по шаблону только с разными site

Выделить код

Код:

/^\w+:\/\/([^\.\/\?=&]+\.)*?site.([^\.]+)?(:\d+)?(\/|$)/i

Проблема в том ,что при открытие страниц, FF либо неплохо подвисает, либо полностью зависает, Говорит что скрипт не отвечает.
Думаю, что проблема в том, что событие происходит часто соответственно и проверка.
Подскажите как с этим боротся?

Например, можно сначала проверять наличие подстроки 'site' в адресе, а потом уже проверять его массивом с regexp'ами.
Это, если проблема только в количестве проверок. Однако, проблема может быть также в большом количестве observer'ов. Перед повторной установкой observer'а (после редактирования кнопки, например), старый неплохо бы снять (removeObserver).
Кстати, как 'выдёргивается' адрес у subject'а http-on-modify-request (т. е., nsIChannel) ? subject. URI. spec ? Не короче ли будет через subject. URI. host ?