Połączenie synchroniczne w rozszerzeniu Google Chrome
Pracuję nad rozszerzeniem Google Chrome, które musi blokować / przekierowywać niektóre wychodzące żądania. W tym celu używamchrome.webRequest.onBeforeRequest
słuchacz. Aby zdecydować, czy zablokować żądanie, czy nie, potrzebuję informacji o żądaniu karty. Mogę to wykorzystaćchrome.tabs.get(integer tabId, function callback)
, ale wywołanie zwrotne jest asynchroniczne, co oznacza, że może zostać wywołane po zwróceniu wartościonBeforeRequest
słuchacz.
chrome.webRequest.onBeforeRequest.addListener(function(details){
chrome.tabs.get(details.tabId, function(tab){
// get info from tab
});
// based on info from tab return redirect or not
}), {
urls: ["<all_urls>"],
types: ["main_frame"]
}, ["blocking"]);
Czy istnieje sposób na zsynchronizowanie połączenia? A może inna opcja.