我正在尝试根据存储在 chrome.storage.local 中的数据阻止我的 google chrome 扩展程序中的某些网络请求。但是我找不到返回“{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};
});
有没有人解决这个问题?谢谢你的帮助。