Chrome 扩展将被阻止的站点转发到 html 页面,但仅当 link 直接写入搜索栏时

Chrome extension forwards blocked sites to html page, but only when the link is written directly in the search bar

我正在为一个项目做一个简单的 Chrome 扩展,但我遇到了一个奇怪的问题。 我在后台脚本中做了一个网站拦截器:

    localStorage.setItem('blocked_sites',  ["*://www.wikipedia.org/*", "*://www.change.org/*", "*://en.wikipedia.org/*"]); 
urls = localStorage.getItem('blocked_sites').split(',');

chrome.webRequest.onBeforeRequest.addListener(
function(intercept) {
    console.log(intercept.url);
    localStorage.setItem('denied_access_url', intercept.url);
     return {redirectUrl: chrome.extension.getURL("chatbot.html")};
     
},
{
    urls,
    types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", 
"xmlhttprequest", "other"]
},
["blocking"]
);

当我通过在搜索栏中输入 url 直接访问站点时,此拦截器起作用。该页面重定向到我的 html 文件正常。但是,如果我 google 搜索然后单击 link 或单击电子邮件中的 hyperlink,该站点将被阻止,但页面不会重定向到 'chatbot.html',该页面显示:

'blninlecioflbneanancablcknibdbja 被阻止 此页面已被 Chrome 屏蔽 ERR_BLOCKED_BY_CLIENT' (随机字母为本地扩展文件夹的名称,由chrome生成)。终端说 "(index):7272 crbug/1173575,非 JS 模块文件已弃用。 (匿名)@(索引):7272" 然后点击字符串末尾的数字显示

'No resource with given URL found'

奇怪的是,当我在 background.js 控制台中打印出 url 并单击它时,重定向到 chatbot.html 有效。当我点击 word 文档中的 links 时它也有效(但同样,不是电子邮件中的 links!)。

我已经尝试研究这些错误,但没有找到太多。

为什么有时只能找到文件?

“您需要将文件添加到 manifest.json 中的 web_accessible_resources。我认为这是一个错误,但它一直都是这样工作的。–wOxxOm”