Javascript 如何创建自动重定向到特定链接的chrome扩展?
嗨,我想创建一个chrome扩展,这样当用户在example1.com页面上时,即使在页面加载之前,他也会自动重定向到example2.com。无论用户是否在url中键入或通过链接到达url,这都应该有效 请帮帮我Javascript 如何创建自动重定向到特定链接的chrome扩展?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,嗨,我想创建一个chrome扩展,这样当用户在example1.com页面上时,即使在页面加载之前,他也会自动重定向到example2.com。无论用户是否在url中键入或通过链接到达url,这都应该有效 请帮帮我 谢谢。您不需要为此扩展。只需将example1.com重定向到example2.com的IP,然后在example2的服务器上创建一个虚拟主机,它将反向代理请求到实时主机。在后台页面: chrome.tabs.onUpdated.addListener(function(tabId,
谢谢。您不需要为此扩展。只需将
example1.com
重定向到example2.com
的IP,然后在example2的服务器上创建一个虚拟主机,它将反向代理请求到实时主机。在后台页面:
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"});
}
});
当请求与特定Url匹配时,可以使用重定向请求。下面是一个示例代码:
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方法的一些详细信息:
阻塞
或请求体
- 等于:严格匹配
- 包含:指定url中的任何字符串
- 匹配:一个基于JS的正则表达式,它匹配url中的某些内容
希望能有帮助 @user764894的问题显然有一个用例。如果您无法控制服务器,该怎么办。您只是访问公司网络上的服务器的用户,该服务器在网络内部解析为something.com,在网络外部解析为something.company.com(VPN)?它确实需要一个基于客户端的解决方案;i、 e浏览器扩展。不知道是否有一个扩展已经这样做了。我也在四处寻找这样的解决方案;与firefox中的foxyproxy非常相似(我认为;不确定)。它有一个基于正则表达式的重写配置,非常方便@CodeMedic试图在超级用户上提问。对使用
匹配模式,然后用JS测试每个请求的URL的巨大低效性投反对票。请解决这个问题,我很乐意投票,因为这通常是正确的方法。@Xan感谢man在答案中指出了改进的范围。我已经更正了它,还添加了一些关于使用onBeforeRequest
方法的细节。