1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
(function () { console.log('加载脚本');
window.beforeXMLHttpRequestOpen = function (xhr, options) { console.log('before open', xhr); options.url = options.url.replace('wd=123', 'wd=456'); };
window.beforeXMLHttpRequestSend = function (xhr, body) { console.log('before send', xhr); xhr.setRequestHeader('key1', 'value1'); };
XMLHttpRequest.prototype.myOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function (method, url, async, user, password) { var options = { method: method, url: url, async: async, user: user, password: password }; if ('function' === typeof window.beforeXMLHttpRequestOpen) { window.beforeXMLHttpRequestOpen(this, options); } this.myOpen(options.method, options.url, options.async); };
XMLHttpRequest.prototype.mySend = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function (body) { if ('function' === typeof window.beforeXMLHttpRequestSend) { window.beforeXMLHttpRequestSend(this, body); } this.mySend(body); };
})();
|