Событие создания-отправки-сообщения Thunderbird не срабатывает

Я следил за руководством по запуску расширения Thunderbird, и мне удалось получить расширения, использующие Событие «загрузить» для работы (основной пример «даты» и случайный текст с использованием alert("hey"); работают).

Тем не менее, я не могу запустить какие-либо события на основе сообщений. Я пробовал использовать различные типы предупреждений, и мне кажется, что мой код не запускается. Например:

function send_event_handler( evt ) {
  alert("hohoho");
}

window.addEventListener( "compose-send-message", send_event_handler, true );

Как заставить события запускаться, что позволяет мне изменять тела сообщений?

Моя тестовая платформа использует Thunderbird 13.

Мой манифест:

content     thundersafe    chrome/content/
overlay chrome://messenger/content/messenger.xul chrome://thundersafe/content/thundersafe.xul

person Thomas M. DuBuisson    schedule 22.06.2012    source источник
comment
Какое окно Thunderbird вы накладываете? Другими словами, не могли бы вы добавить свое chrome.manifest содержимое?   -  person Wladimir Palant    schedule 22.06.2012


Ответы (1)


Благодаря Владимиру Паланту искал другие накладки. Мне это не пришло в голову, потому что я думал, что оверлей будет полезен только для настройки GUI через точки соединения XUL — очевидно, мне нужно многому научиться.

Правильное наложение для моего использования:

chrome://messenger/content/messengercompose/messengercompose.xul

Это наложение было обнаружено при просмотре других расширений. Я не смог найти список оверлеев и их предполагаемого использования где-либо на MDN.

person Thomas M. DuBuisson    schedule 22.06.2012
comment
Правильно - вы загружаете скрипт из оверлея, следовательно, он запускается в контексте окна, которое вы накладываете. И поскольку событие compose-send-message запускается в окне Compose, вам, очевидно, нужно наложить окно Compose (вы нашли его адрес). Вы можете увидеть адрес и структуру хромированных окон с помощью расширения DOM Inspector. - person Wladimir Palant; 23.06.2012
comment
Можете ли вы дать более подробную информацию о ваших файлах? Я пытаюсь сделать точно так же, но безуспешно - person Cédric Boivin; 22.01.2017