次の JavaScript コードを使用して ajax 呼び出しをインターセプトしています。
XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open;
var newOpen = function(method, url, async, user, password) {
console.log("Intercepted open (" + url + ")");
this.realOpen(method, url, async, user, password);
}
XMLHttpRequest.prototype.open = newOpen;
ajax 呼び出しを実行する JavaScript と上記のコードは、次の場所からロードされます。
https://example.com/js/main.js
https://example.com/js/intercept.js
上記のコードは、ajax 呼び出しのドメインが "example.com" だけの場合はうまく機能しますが、ドメイン "sub.example.com" に対して ajax 呼び出しが行われると、上記のコードはその要求をインターセプトできません。
なぜそれがうまくいかないのか誰か知っていますか?