Как получить информацию из chrome.tabs.onCreate до запуска chrome.webRequest.onBeforeRequest? - PullRequest
0 голосов
/ 09 февраля 2019

Я использую в моем расширении как chrome.webRequest.onBeforeRequest, так и chrome.tabs.onCreate слушателей.Я пытаюсь использовать атрибут tab.openerTabId, который вы получаете в tabs.onCreate, чтобы он был доступен ко времени выполнения обратного вызова webRequest.onBeforeRequest, но, похоже, onBeforeRequest запускается до срабатывания tabs.onCreate.Есть ли простой способ обойти это?

var openerTabId;

function checkNewTab(tab) {
    openerTabId = tab.openerTabId;
}

function checkRedirects(details) {
    //code that I don't want to run until I have openerTabId in those 
    //instances where web request is due to a new tab being opened
}

function setupNewTabListener() {
    chrome.tabs.onCreated.addListener(checkNewTab);
}

function setUpRedirectListener() {
    chrome.webRequest.onBeforeRequest.removeListener(checkRedirects);
    var filter = createFilter(redirects);
    chrome.webRequest.onBeforeRequest.addListener(checkRedirects, filter, ["blocking"]);
}

function setupInitial() {
    '''
    setupNewTabListener();
    setUpRedirectListener();
    '''
}

chrome.storage.local.get({
    '''
    setupInitial();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...