Javascript Chrome扩展重定向两个选项卡
我做了一个简单的Chrome扩展,它允许我将一个站点重定向到另一个站点。但是在一个随机的网站中,当我在该site1.com链接上单击“在新选项卡中打开链接”按钮时,当前和新选项卡都会重定向到site2.com 这是我的Javascript Chrome扩展重定向两个选项卡,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我做了一个简单的Chrome扩展,它允许我将一个站点重定向到另一个站点。但是在一个随机的网站中,当我在该site1.com链接上单击“在新选项卡中打开链接”按钮时,当前和新选项卡都会重定向到site2.com 这是我的manifest.json: { "manifest_version": 2, "name": "name", "description": "description", "version": "1.0", "background": {
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.onBeforeSendHeaders
或chrome.tabs.update(tab.id)
?谢谢,重定向URL
非常有用
这是工作版本
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"]
);
如文档所示,通过返回具有redirectUrl属性的对象来更改URL本身。