如何在chrome.webRequest.onBeforeRequest触发之前从chrome.tabs.onCreate获取信息?

时间:2019-02-09 15:56:43

标签: google-chrome-extension

我在扩展程序中同时使用了chrome.webRequest.onBeforeRequest和chrome.tabs.onCreate侦听器。我正在尝试利用您在tabs.onCreate中获得的tab.openerTabId属性,以在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();
});

0 个答案:

没有答案