我正在尝试使用 chrome.webRequest API开发chrome扩展。我的扩展程序会将https://google.com重定向到https://stackoverflow.com。功能上可以正常工作,但是在chrome webRequest API中添加redirectUrl后,我的chrome扩展无法正确加载。
这是我的 manifest.json 文件:
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"description": "Test",
"browser_action":
{
"default_popup": "popup.html"
},
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.google.com/"
],
"background":{
"scripts": ["backgroundPage.js"]
}
}
popup.html
<!DOCTYPE html>
<html>
<head><title>Hello World!</title></head>
<body>
<h2>Hello</h2>
<input type="text" id="name">
</body>
</html>
backgroundPage.js
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return { redirectUrl: "https://stackoverflow.com"};
}, { urls: ["<all_urls>"] }, ["blocking"]);
如果我像下面那样更改backgroundPage.js中的redirectUrl(不重定向)
redirectUrl:details.url
弹出窗口正常打开。像这样
但是,在更改了如下所示的redirectUrl之后,
redirectUrl:“ https://stackoverflow.com”
弹出窗口无法正常打开,但重定向工作正常。
我在这里错过了什么吗?这些行为通常何时发生? 谢谢。
答案 0 :(得分:0)
我也遇到了这个问题并解决了。您可以将onBeforeRequest
替换为onHeadersReceived
。