Я хочу вызвать функцию, реализованную в сценарии содержимого расширения, которая получает выделенный текст с веб-страниц, из функции в фоновом сценарии, которая позже будет вызвана в прослушивателе, подключенном к пункту меню.
Возможно ли это и каков был бы самый короткий способ сделать это?
Вот соответствующие фрагменты кода:
манифест.json
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
]
content.js
var text = "";
function highlightedText() {
text = content.getSelection();
}
background.js
function listenerFunction() {
highlightedText();
/* Doing various stuff that have to use the text variable */
}
browser.menus.onClicked.addListener((info, tab) => {
highlightedText();
});
Очевидно, что приведенный выше код не работает, так как "выделенная" функция теперь видна из фонового сценария.
Итак, каков самый быстрый / короткий способ заставить код работать?
undefined
.