Расширение анализирует входящую почту и должно отправлять ответы или форвардить письма в зависимости от ситуации.
Я поначалу решил что достаточно будет имитировать Reply на email, откроется окно с reply и после манипуляций над телом письма я имитирую его отправку.
Окно открывается
msgComposeService.OpenComposeWindow(null, hdr, messageUri, msgComposeType, msgCompFormat, identity, msgWindow);
Но как теперь инициировать отправку этого письма не совсем понятно. :sick:
Вприниципе можно пойти по такому пути, но неохота
Заполняем params = nsIMsgComposeParams gMsgCompose = composeSvc.InitCompose(msgWindow, params); gMsgCompose.SendMsg(msgComposeType, identity, currentAccountKey, msgWindow, progress);
Нужно обрабатывать письма которые удовлетворяют определённому набору фильтров, на какое событие можно повесить слушателя, чтобы фильтр сообщил расшиению что пришли N новых писем удовлетворяющих условиям?
Работает, спасибо.
Вот это больше не работает, выводится стандартная иконка FF :sick:
https://developer.mozilla.org/en-US/docs/Window_icons
Со старыми версиями всё ОК...
нашел на stackoverflow комментарий Владимира Паланта
In a classic add-on it is slightly more complicated - chrome:// URLs normally cannot be used by web pages, for security reasons. You can however specify the contentaccessible flag for your namespace in chrome.manifest, e.g.:
content myextension chrome/content/ contentaccessible=yes
Then web pages will be able to use chrome://myextension/content/file.swf. The other option would be to register a resource:// namespace, these are always accessible from web pages.
И MDN говорит, что
Note that there are no security restrictions preventing web content from including content at resource: URIs, so take care what you make visible there.
Но у меня это не работает с SWF...
З.Ы. Поигрался с версией 3.6.x - ссылка на SWF не работает, зато работает ссылка на JS, c версией 12 не работают ссылки ни на SWF ни на JS.
…Столкнулся с проблемкой такого рода:
Security Error: Content at http://ya.ru/ may not load or link to chrome://bla-bla-bla/content/myflash.swf.
chrome.manifest:
content bla-bla-bla chrome/content/ contentaccessible=yes overlay chrome://browser/content/browser.xul chrome://bla-bla-bla/content/myOverlay.xul
Пробовал использовать resource:// - та же история.
Картинки вставляются без проблем, а вот с swf возникает ошибка. :(
И второй вопрос, какой сертификат купить, чтобы подпись XPI отображалась без дополнительных манипуляций (установка дополнительных CA сертификатов и т.п.)?
Проблемка с подписанным расширением. При попытке проинсталлировать его пишет "Author not verified".
После этого я иду в менеджер сертификатов, выбираю CA сертификат, нажимаю "Edit Trust..." :
Не трогаю никаких чекбоксов, просто нажимаю OK.
После этой не хитрой манипуляции Firefox пишет имя сертификата, которым подписывался .xpi
Возникает резонный вопрос, WTF? :angry:
Может кто ковырялся в TabMix расширении, какой event нужно перехватить, чтобы открыть новый URL в новой вкладке вместо того чтобы открывать в текущей?
В доке к install.rdf максимальный размер иконки 64x64.
В то же время App manifest поддерживает 128x128.
Может install.rdf тоже поддерживает 128x128?
KML пишетФункции? Теоретически они могут делать всё что угодно, парсить тело функции в мои планы не входит :)
а определить (переопределить) onclick для кнопок?
Допустим переопределил, и что дальше? Парсить тело функции на предмет смены location? А остальной код этой функции кто выполнять будет?
Просто налицо явный просчет в API мозилы - сообщать в процессе смены location а не перед началом процесса.
Вам нужен nsIWebProgressListener. На форуме достаточно примеров на эту тему.
Почему? Они же создают HTML-элементы.
Функции? Теоретически они могут делать всё что угодно, парсить тело функции в мои планы не входит :)
KML пишетНет, мне нужно в случае чего открыть эти ссылки в соседней вкладке.
ну дык кто мешает
hydrolizer пишетНе проще ли будет пройтись по контенту, найти эти кнопки, и задизейблить их?
+ добавить рядом ссылочку.
Мешает то что это Javascript функции, так что простыми ссылочками не отделаешься.
Нет, мне нужно в случае чего открыть эти ссылки в соседней вкладке.
Расширение открывает страницу, на которой есть контент включая кнопки с действиями
Неоходимо предотвратить смену страницы, при нажатии на эти кнопки.
Пробовал отловить через nsIWebProgressListener.onLocationChange() и потом gBrowser.stop(), но данный метод не подходит, т.к. броузер со старой страницы уходит, я его останавливаю, и в результате получается пустая страница.
Пробовал отловить через addObserver(this,"http-on-modify-request",false). Проблема в том, что сюда валятся все реквесты и понять какой из них тот что нужно блокировать непонятно.
вариант сделать сайдбар стандартным способом но отслеживать активный таб и если активный не тот что надо просто скрывать сайбар.
Оставлю как резервный вариант
Нашел расширение которое идеально реализует то что мне нужно (tile-tabs),
The 'big idea' that makes this extension possible is applying
'display:-moz-stack' to <tabpanels> within the <tabbrowser>
and adjusting the size of the tab <notificationbox> elements
by setting the four margin values in the style attribute.
Осталось разобраться как это реализовано :)
Нужно сделать сайдбар только для одной вкладки в FF, т.е. главное что бы одна вкладка содержала два браузера, разделённых сплитером.
Поначалу думал использовать broadcasterset, но вылетело из головы что этот контрол один для всех. :sick:
А никто не замечал, что FF не переключается на вкладку, которая ещё не загрузилась до конца? На ней можно хоть 10 раз щелкать - никакого результата. При этом ресурсов свободных вагон - 8гиг оперативы + i7. Такая чехарда началась с 5-ой версии у меня, иногда реально бесит.
Конечно, тестовый енв. всегда с этими настройками, но принудительно включать nglayout.debug.disable_xul_cache = true на машине пользователя не очень хочется (пока что включаю), мало ли, вдруг у него 30 расширений в профиле. FF с каждой новой версией всё более торможенный получается, неохота его ещё больше замедлять...
Столкнулся с проблемой при использовании внешних скриптов в расширении.
Например в XUL-е есть следующая конструкция
FF кеширует данный скрипт и расширение не реагирует на изменения в удалённом скрипте. С Google Chrome нет такой проблемы. Как-то это можно вылечить? :sick:
По человечески не получится точно, я как-то пытался, правда не помню чем мои потуги закончились :)
Нашел баг по этому поводу Bug 634391.
Тогда все служебные нотификейшены будут отображаться возле моей кнопки :) , а мне бы этого не хотелось. Есть какой-то другой способ показать такой или похожий хинт для кнопки на тулбаре (не наводя мышу на кнопку)?