小编ogn*_*ten的帖子

Chrome 扩展:webRequest 重定向到现有选项卡,无需打开新选项卡

当用户打开某个页面时,我想在打开新选项卡之前在现有选项卡中打开该页面。我已经尝试过 webRequest:

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        chrome.tabs.query({ url: 'https://example.com/' },function (tabs) {
            chrome.tabs.update(tabs[0].id, { url: details.url, highlighted: true });
        })
    },
    {urls: ['https://example.com/']},
    ['blocking']
);
Run Code Online (Sandbox Code Playgroud)

我也试过 webNavigation:

chrome.webNavigation.onBeforeNavigate.addListener(function (details) {
    if(details.url=="https://example.com/") {
        chrome.tabs.query({ url: 'https://example.com/' },function (tabs) {
            chrome.tabs.update(tabs[0].id, { url: details.url, highlighted: true });
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

这两者都会打开一个必须关闭的新选项卡,这会导致浏览器在选项卡之间跳转。

有没有办法在打开新标签之前拦截请求?

谢谢!

javascript tabs redirect google-chrome-extension google-chrome-devtools

6
推荐指数
1
解决办法
907
查看次数