您好我想创建一个chrome扩展程序,以便当用户在页面example1.com上时,即使在页面加载之前,他也会自动重定向到example2.com。无论用户是否输入网址或通过链接进入,都应该有效。
请帮助我!
感谢。
答案 0 :(得分:4)
在后台页面中:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if(tab.url.indexOf("http://example1.com") == 0 && changeInfo.status == "loading") {
chrome.tabs.update(tabId, {url: "http://example2.com"});
}
});
答案 1 :(得分:1)
您可以使用Chrome's webRequest API在与特定网址匹配时重定向您的请求。以下是示例代码:
chrome.webRequest.onBeforeRequest.addListener(
modifyUrl, { urls: ['http://example.com/'] }, ['blocking']
);
modifyUrl: function(details) {
if (details.url === 'http://example.com/') {
return { redirect: 'http://www.requestly.in/' }
}
}
以下是有关使用onBeforeRequest方法的一些细节:
第一个arugument,是你的回调处理程序,只要截获一个与你作为第二个参数提供的Url模式相匹配的请求就会调用
第二个参数,一组Urls或url模式或正则表达式告诉chrome拦截这些Urls
第三个参数,requestOptions,可以是blocking
或requestBody
。
您可以阅读有关webRequest API here
的信息如果您正在寻找可以为您提供技巧的已经制作的解决方案,您可以结帐Requestly,它可以为您完成同样的工作。它甚至允许您将您的网址与三个运营商匹配
查看此屏幕截图以便更好地理解。
希望它有所帮助!!
答案 2 :(得分:-1)
您不需要此扩展程序。只需将example1.com
重定向到example2.com
的IP,然后在example2的服务器上创建虚拟主机,它将反向代理对活动主机的请求。