是否有可能通过Javascript处理页面发出的每个GET请求
Is it possible to EventHandle every GET request a page makes via Javascript?
我正在尝试学习编写在 greasemonkey 上运行的用户脚本。
我有一个小型的个人网站(没有人访问),所以我使用它作为我的实验工具。我想在每次页面有GET
请求时执行一个功能。我的页面有一些 ajax 请求,一些是用户发起的,一些是定时的。最初我为 DOM 节点插入添加了一个事件处理程序,但我意识到有些请求不会对 DOM 元素进行任何更改。
那么,是否可以向 Web 请求添加钩子?
如果没有,我该如何处理这个问题?我正在尝试在页面上显示一些很酷的统计数据,这些统计数据基本上记录了每个请求的计数器和成功/失败率......全部通过所述用户脚本。
ps:这完全没有意义,但我在假期里出于无聊而开始了这个,现在我无法摆脱它!
也许尝试覆盖XMLHttpRequest open prototype:
var XMLHttpRequestOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function () {
console.log("XMLHttpRequest open called!");
/* PUT WHAT YOU NEED HERE */
XMLHttpRequestOpen.apply(this, arguments);
}
XMLHttpRequest 是浏览器中 AJAX 工作的机制。发出请求时始终调用 open 方法。如上所述,通过"重写"此方法,您可以在每次发送请求时执行一些代码。
相关文章:
- 有没有一种方法可以防止img get请求使用css或js发生
- jQuery Ajax GET请求工作不正常
- Angularjs http.get() Cross-Origin 请求被阻止
- 将GET请求(HTML字符串)转换为完整的DOM对象
- 如何在nightwatch.js中发送ajax get请求
- 当我在chrome中切换设备模式时,$http.get请求失败
- 根据GET请求的结果自定义页面内容
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Codeigniter JQuery在JQuery.get请求后动态加载视图中的数据
- 错误Jquery.$.get()请求
- 如果我对一个文件发出ajax GET请求,我会得到什么以及如何将其添加到页面中
- JQuery AJAX 在 GET 请求完成时返回 XML
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 嵌套在 .get 请求中的 jQuery 不会执行
- 如何在 GET 请求中序列化查询的对象
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- Jquery.ajax 请求 'Get' to Web API 2 后端不起作用
- 我如何使用NodeJs请求GET模块发送cookie
- 错误的错误.GrailsExceptionResolver -在处理请求:[GET]时发生NullPointerExce
- Angular js $http请求 get 失败