Chrome扩展程序会重定向两个标签

时间:2017-07-13 07:06:06

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

我制作了一个简单的Chrome扩展程序,它允许我将网站重定向到另一个网站。但是在随机网站上,当我点击该site1.com链接上的“在新标签页中打开链接”按钮时,当前和新标签都会重定向到site2.com。

这是我的manifest.json

{
    "manifest_version": 2,
    "name": "name",
    "description": "description",
    "version": "1.0",
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "permissions": [
        "*://*.site1.com/*",
        "webRequest",
        "webRequestBlocking",
        "tabs"
    ]
}

background.js

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(tab) {
        var getUrl = tab.url,
            splitUrl = getUrl.split("/"),
            title = splitUrl[4],
            url = "https://site2.com/" + title;
        chrome.tabs.update(tab.id, {url: url});
    },
    {urls: ["*://*.site1.com/*"]},
    ["blocking"]
);

这是因为chrome.webRequest.onBeforeSendHeaderschrome.tabs.update(tab.id)

1 个答案:

答案 0 :(得分:0)

谢谢@wOxxOmredirectUrl非常有帮助。

这是工作版本。

chrome.webRequest.onBeforeRequest.addListener(
    function(tab) {
        var getUrl = tab.url,
            splitUrl = getUrl.split("/"),
            title = splitUrl[4],
            url = "https://site2.com" + title;
        return {
            redirectUrl: url
        };
    },
    {urls: ["*://*.site1.com/*"]},
    ["blocking"]
);