【问题标题】:Redirect to local file in chrome extension重定向到 chrome 扩展中的本地文件
【发布时间】:2016-10-03 08:53:07
【问题描述】:

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

 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 页面而不是我的阻止页面。最有趣的是,当我在打开页面以阻止并刷新页面后激活扩展程序时,一切正常,除了有时没有加载 css,但是当我输入 url 并按 enter 时,它会转到 about:blank。这是一些 chrome 问题还是我遗漏了什么?

【问题讨论】:

    标签: javascript google-chrome google-chrome-extension httpwebrequest google-chrome-devtools


    【解决方案1】:

    刚刚添加:

    "web_accessible_resources": [
       "block.html"
    ]
    

    在我的manifest.json

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 2014-08-17
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多