修改Chrome扩展中的网址位置并停止初始请求

Pho*_*nix 8 google-chrome google-chrome-extension

我做了一个扩展,其目的是重定向网址.即:www.google.com成为:www.mysite.com/?url=www.google.com

我发现了这篇文章: 如何通过扩展修改chrome中的当前url位置

我遇到的问题是url都被处理了.该标签最初会加载google.com,并且只有在完成后才会显示我的请求(www.mysite.com/?url=www.google.com).有没有办法阻止初始请求被处理?

就像是:

   chrome.tabs.onUpdated.addListener(function(tabId,obj,tab){
    update.stop() // ??????????? Here I'm missing...
    chrome.tabs.update(tabId,{url:....}, function callback); // My update stuff..
   });
Run Code Online (Sandbox Code Playgroud)

思考?

谢谢你们.

kbt*_*tzr 8

您正在寻找webNavigation API.

您可以通过动态修改或阻止请求来注册侦听器以处理用户导航.

在下面的示例中,当用户导航到www.google.com,在页面甚至开始加载之前onBeforeNavigate,您可以将用户重定向到该URL的CSS验证页面:

chrome.webNavigation.onBeforeNavigate.addListener((details) => {
    if(details.url.indexOf("www.google.com") !== -1)) {
        chrome.tabs.update(details.tabId, {
            url: "https://jigsaw.w3.org/css-validator/validator?uri=" + details.url
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

请记住将"webNavigation"权限添加到扩展程序清单以启用此功能.