это единственные места, где я использую backgroundjs.
енес свое расширение из Chrome в веб-расширение. Ссылка на хром расширениеВот
Все работало, за исключением того, что мне нужно вкладку информации внутри моего углового приложения, там я получаю сообщение об ошибке, какTypeError: "browser.tabs is undefined"
Я могу получить доступ к информации о вкладке внутри фонового скрипта и отправить ее в скрипт контента, но не в основное приложение.
Мое приложение открывается в iframe, iframe указывает на угловое приложение.
browser.tabs.getCurrent(function (tabs) {
//these are tabs
});
Мне удалось получить его в расширении Chrome, я не могу найти способ отправить его из фона или содержимого в основное приложение.
Я получаю его в фоновом режиме и отправляю на контент
BACKGROUND.js
browser.tabs.query({ currentWindow: true, active: true }, function (tabs) {
tabs = tabs
chrome.tabs.sendMessage(tabs[0].id, { action: "tabs", tabs : tabs }, function(response) {
console.log(response);
});
});
Получение в контент как
CONTENT.JS
browser.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.action == 'tabs') {
tabs = request.tabs;
}
if (request.action == 'get_tabs') {
sendResponse(tabs);
}
});
Также пытается получить его в основном приложении, отправив сообщение и ответ обратно, как вget_tabs
В главном приложении где-то
browser.runtime.sendMessage({ 'action': 'get_tabs' }, function (tabs) {});
Если вы столкнулись с этим, пожалуйста, ответьте.