0

Chrome中是否有任何简单的方法可以将AJAX调用重定向到另一台服务器而不更改DNS?(例如:对http://domain.com/page.html的调用将被定向到http://localmachine.com/page.html

我知道这可以通过更改 DNS 来完成,但这并不能解决我的问题,因为当我只想捕获单个 URL 时,它会将所有 domain.com 请求发送到 localmachine。

提前致谢!

PS:如果有人知道已经这样做的扩展,那将非常受欢迎。如果没有,我会尝试自己开发一个 chrome 扩展

补充:清单文件(在apsillers评论后):

{
  "name": "My Extension",
  "version": "0.1",
  "background": {
  "script": "background.js"
  },
  "permissions" : [
    "webRequest",
    "webRequestBlocking",
    "background",
    "*://*/*"
  ],
  "manifest_version": 2
}
4

1 回答 1

0

onBeforeRequestwebRequest API使用:

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        // only redirect if accessing this page via Ajax
        if(details.type == "xmlhttprequest") {
            return {redirectUrl:"http://localmachine.com/page.html"};
        }
    },
    {urls: ["http://domain.com/page.html"]},
    ["blocking"]);

这将设置一个重定向脚本,该脚本捕获所有 Ajax 请求http://domain.com/page.html并导致它们从http://localmachine.com/page.html. 浏览器无法知道重定向已经发生;即,它认为结果确实是从domain.com.

于 2012-09-12T19:06:20.190 回答