重定向到chrome扩展名中的本地文件



我正在尝试阻止某些页面并将用户重定向到扩展名中的文件,这是我的代码:

 function onHeadersReceivedHandler(details) {

    if (enabled && device && device.signature) {
        var item = map[details.url.toString()];
        if (!item) {
            item = map[details.url.toString()] = details;
        }
        console.log("url: ", details.url.toString());
        console.log("onBeforeRequest: ", item);
        if (item.allowed === false) {
            console.log("NOT ALLOWED ", item);
            return {
                redirectUrl: chrome.extension.getURL(blockUrl)
            };
        }
        else if (item.allowed === true) {
            console.log("ALLOWED ", item);
            return details;
        }
        else {
            console.log("NEED TO CHECK ", item);
            item.allowed = false;
            if (item.allowed === false) {
                console.log("NOT ALLOWED AFTER CHECK: ", item);
                return {
                    redirectUrl: chrome.extension.getURL(blockUrl)
                };
            }
        }

    }
}
       chrome.webRequest.onHeadersReceived.addListener(onHeadersReceivedHandler, {
        urls: ["http://*/*", "https://*/*"],
        types: ["main_frame"] 
    }, ["responseHeaders", "blocking"]);

但是当此代码检测到被阻止的页面时,chrome 重定向到 about:blank page 而不是我的阻止页面。最有趣的是,当我在打开页面进行阻止和刷新页面后激活扩展程序时,一切正常,除了有时没有加载 css,但是当我输入 url 并按回车键时,它会转到 about:blank。这是某些铬问题还是我错过了什么?

刚刚添加:

"web_accessible_resources": [
   "block.html"
]

在我的manifest.json

相关内容

  • 没有找到相关文章

最新更新