Я делаю расширение Thunderbird через WebExtension Api (с всплывающим окном), и у меня есть некоторые трудности с запуском Content script, чтобы получить некоторые элементы (например, список вложений текущей почты) непосредственно из интерфейса Thunderbird.
Я сделал popup.html , popup.js и contentScript.js, которые запускаются при открытии всплывающего окна. По-видимому, contentScript.js не запускается на главной вкладке Thunderbird, но работает без сбоев, когда я открываю новую вкладку (с URL-адресом) через код.
$(document).ready(function(){
console.log('Try to execute contentScript');
// -- create new tab --
// browser.tabs.create({
// url: 'https://example.org'
// });
// -- execute script in current tab --
browser.tabs.executeScript({
file: 'scripts/contentScript.js'
});
});
// from contentScript.js
console.log('contentScript.js - Injected');
В консоли я ожидал «contentScript.js — Injected», но это появляется только тогда, когда я не нахожусь на главной вкладке Thunderbird. Когда я нахожусь на главной вкладке, отображается только «Попробуйте выполнить contentScript», после чего ничего не появляется, никаких ошибок.
Расширение Thunderbird прямо сейчас эволюционирует от старого устаревшего метода (наложение файлов xul) к фактическому API WebExtension, используемому большинством браузеров, но есть некоторые отличия: в Firefox расширение работает без проблем, поэтому я предположил, что основной вкладка Thunderbird каким-то образом защищена от внедрения контента.
Моя цель здесь — получить список вложений и другие элементы прямо из интерфейса, но, видимо, я не могу.
background
— см. stackoverflow.com/questions/59547118/ для ссылок на документы и примеры. - person handle   schedule 01.01.2020