0

DNSを変更せずにAJAX呼び出しを別のサーバーにリダイレクトする簡単な方法はChromeにありますか?(例: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

webRequest APIonBeforeRequestから使用します。

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"]);

http://domain.com/page.htmlこれにより、 のすべての Ajax リクエストをキャッチして からの結果を返すリダイレクト スクリプトが設定されhttp://localmachine.com/page.htmlます。ブラウザーは、リダイレクトが行われたことを知る方法がありません。つまり、結果が実際に から取得されたと考えますdomain.com

于 2012-09-12T19:06:20.190 に答える