Rui*_*ang 19 javascript ajax gmail
我正在尝试将回调附加到Gmail中的"发送邮件"ajax操作.我已经能够根据请求有效负载区分发送邮件操作与其他AJAX操作,但无法挂钩到实际的AJAX调用.
到目前为止,我已尝试使用重写XMLHttpRequest.open()方法,如此处所述.这没效果.我也尝试重写XMLHttpRequest.send().也失败了.
有什么想法吗?非常感谢提前.
Google的诀窍是他们从iframe内部发送请求,iframe拥有自己的JavaScript环境.但是,由于它是从与父级相同的源加载的,因此您甚至可以通过浏览器控制台轻松地对其进行操作:
[].slice.apply(document.querySelectorAll('iframe')).forEach(function (iframe) {
try {
var xhrProto = iframe.contentWindow.XMLHttpRequest.prototype;
var origOpen = xhrProto.open;
xhrProto.open = function () {
console.log('DO SOMETHING', arguments);
return origOpen.apply(this, arguments);
};
} catch (e) {}
});
Run Code Online (Sandbox Code Playgroud)
您可能希望使用MutationObserver可靠地检测新添加的iframe.
| 归档时间: |
|
| 查看次数: |
958 次 |
| 最近记录: |