基本Chrome扩展程序编程:无法动态阻止网站

时间:2018-06-14 09:10:13

标签: javascript asynchronous google-chrome-extension chrome-extension-async

我正在尝试编写一个简单的chrome扩展程序,当我点击它时会阻止twitter。

这是我的background.js:

var enabled = true;
const global_blocked_urls = ["https://*.chess.com/*"];



chrome.webRequest.onBeforeRequest.addListener(
    (details) => {
        console.log(global_blocked_urls); //prints as expected 
        console.log("blocking:", details.url);
        return {
            cancel: enabled
        };
    }, {
        "urls": global_blocked_urls
    }, ["blocking"]
);

chrome.runtime.onMessage.addListener(block_twitter);

function block_twitter(msg) {


        var twitter_regex = "https://*.twitter.com/*";
        global_blocked_urls.push(twitter_regex);
        console.log(global_blocked_urls);

    console.log(msg);
}

我在全局列表中持有我不想访问的链接列表。

问题:首先触发block_twitter侦听器,然后访问新网页 - 接下来会触发onBeforeRequest侦听器。当我打印回调到chrome.webRequest.onBeforeRequest.addListener内的全局列表时,它打印出我希望它打印出来的内容。

但是:它仍允许我访问twitter,尽管正则表达式的url url是全球列表中的。

如何调试/修复此问题?

0 个答案:

没有答案