我发现 chrome.declarativeNetRequest 仅支持静态规则,我想要的是在重定向/请求等操作之前调用一些自定义方法。到目前为止我还没有找到解决方案。我不确定在 Manifest V3 下是否还能做到这一点。
我的扩展有两个用例。
chrome.webRequest.onBeforeRequest.addListener(
function(requestDetails) {
//
// I can get id from requestDetails.url,
// then do some custom business logic.
//
custom_function(requestDetails.url);
return {redirectUrl:"javascript:"};
},
{urls: [ "url_pattern?id=*" ]},
["blocking"]
);
Run Code Online (Sandbox Code Playgroud)
chrome.webRequest.onBeforeSendHeaders.addListener(
function (details) {
details.requestHeaders.push({
"name": "User-Agent",
"value": navigator.userAgent + "version_1.0.0"
});
return {requestHeaders: details.requestHeaders};
},
{
urls: ["*://url_pattern"],
types: ["xmlhttprequest"]
},
["blocking", "requestHeaders"]
);
Run Code Online (Sandbox Code Playgroud)
@wOxxOm 非常感谢您的耐心解答!
我更喜欢 spinner.html。但我还有另一个问题。
我无法将 regexSubstitution 设置为扩展地址,
我可以使用扩展路径,但相应的捕获组在这里不起作用。
"regexFilter": "google.com*"
以下都是不正确的:
无法使用相应的捕获组。
"extensionPath": "/spinner.html?url=\\0"
无法使用分机地址。 …