это единственные места, где я использую 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) {});

Если вы столкнулись с этим, пожалуйста, ответьте.

Ответы на вопрос(0)

Ваш ответ на вопрос