chrome.storage.local に保存されているデータに基づいて、Google Chrome 拡張機能で特定の Web リクエストをブロックしようとしています。ただし、「{cancel: true };」を返す方法が見つかりません。onBeforeRequest.addListener のコールバック関数内。または、chrome.Storage.local.get() の非同期的な方法により、それぞれのコールバック関数の外で storage.local からデータにアクセスする。
ここに私の関連コードがあります。
chrome.webRequest.onBeforeRequest.addListener( function(info) {
chrome.storage.local.get({requests: []}, function (result) {
// depending on the value of result.requests.[0].item I want to return "{cancel: true };" in order to block the webrequest
if(result.requests.[0].item == 0) return {cancel: true}; // however this is obviously in the wrong place
});
// if I put return {cancel: true} here, where it should be, I can't access the data of storage.local.get anymore
// if(result.requests.[0].item == 0) return {cancel: true};
});
この問題の解決策はありますか? ご協力いただきありがとうございます。