Greasy Fork is available in English.

ajax-hook-thirde-V2

ajax-hook 浏览器请求拦截js

אין להתקין סקריפט זה ישירות. זוהי ספריה עבור סקריפטים אחרים // @require https://update.greatest.deepsurf.us/scripts/484741/1311035/ajax-hook-thirde-V2.js

  1. // ==UserScript==
  2. // @name ajax-hook-thirde-V2
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.0.1
  5. // @description ajax-hook 浏览器请求拦截js
  6. // @author You
  7. // @match http://*/*
  8. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. ! function(e, t) {
  13. for (var n in t) e[n] = t[n]
  14. }(window, function(e) {
  15. function t(r) {
  16. if (n[r]) return n[r].exports;
  17. var o = n[r] = {
  18. i: r,
  19. l: !1,
  20. exports: {}
  21. };
  22. return e[r].call(o.exports, o, o.exports, t), o.l = !0, o.exports
  23. }
  24. var n = {};
  25. return t.m = e, t.c = n, t.i = function(e) {
  26. return e
  27. }, t.d = function(e, n, r) {
  28. t.o(e, n) || Object.defineProperty(e, n, {
  29. configurable: !1,
  30. enumerable: !0,
  31. get: r
  32. })
  33. }, t.n = function(e) {
  34. var n = e && e.__esModule ? function() {
  35. return e.default
  36. } : function() {
  37. return e
  38. };
  39. return t.d(n, "a", n), n
  40. }, t.o = function(e, t) {
  41. return Object.prototype.hasOwnProperty.call(e, t)
  42. }, t.p = "", t(t.s = 3)
  43. }([function(e, t, n) {
  44. "use strict";
  45.  
  46. function r(e, t) {
  47. var n = {};
  48. for (var r in e) n[r] = e[r];
  49. return n.target = n.currentTarget = t, n
  50. }
  51.  
  52. function o(e, t) {
  53. function n(t) {
  54. return function() {
  55. var n = this.hasOwnProperty(t + "_") ? this[t + "_"] : this[u][t],
  56. r = (e[t] || {}).getter;
  57. return r && r(n, this) || n
  58. }
  59. }
  60.  
  61. function o(t) {
  62. return function(n) {
  63. var o = this[u],
  64. i = this,
  65. s = e[t];
  66. if ("on" === t.substring(0, 2)) i[t + "_"] = n, o[t] = function(s) {
  67. s = r(s, i), e[t] && e[t].call(i, o, s) || n.call(i, s)
  68. };
  69. else {
  70. var a = (s || {}).setter;
  71. n = a && a(n, i) || n, this[t + "_"] = n;
  72. try {
  73. o[t] = n
  74. } catch (e) {}
  75. }
  76. }
  77. }
  78.  
  79. function a(t) {
  80. return function() {
  81. var n = [].slice.call(arguments);
  82. if (e[t]) {
  83. var r = e[t].call(this, n, this[u]);
  84. if (r) return r
  85. }
  86. return this[u][t].apply(this[u], n)
  87. }
  88. }
  89.  
  90. function c() {
  91. t.XMLHttpRequest = f, f = void 0
  92. }
  93. t = t || window;
  94. var f = t.XMLHttpRequest;
  95. return t.XMLHttpRequest = function() {
  96. for (var e = new f, t = 0; t < s.length; ++t) {
  97. var r = "on" + s[t];
  98. void 0 === e[r] && (e[r] = null)
  99. }
  100. for (var c in e) {
  101. var h = "";
  102. try {
  103. h = i(e[c])
  104. } catch (e) {}
  105. "function" === h ? this[c] = a(c) : c !== u && Object.defineProperty(this, c, {
  106. get: n(c),
  107. set: o(c),
  108. enumerable: !0
  109. })
  110. }
  111. var v = this;
  112. e.getProxy = function() {
  113. return v
  114. }, this[u] = e
  115. }, Object.assign(t.XMLHttpRequest, {
  116. UNSENT: 0,
  117. OPENED: 1,
  118. HEADERS_RECEIVED: 2,
  119. LOADING: 3,
  120. DONE: 4
  121. }), {
  122. originXhr: f,
  123. unHook: c
  124. }
  125. }
  126. Object.defineProperty(t, "__esModule", {
  127. value: !0
  128. });
  129. var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) {
  130. return typeof e
  131. } : function(e) {
  132. return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
  133. };
  134. t.configEvent = r, t.hook = o;
  135. var s = t.events = ["load", "loadend", "timeout", "error", "readystatechange", "abort"],
  136. u = "__origin_xhr"
  137. }, function(e, t, n) {
  138. "use strict";
  139.  
  140. function r(e, t) {
  141. return t = t || window, c(e, t)
  142. }
  143.  
  144. function o(e) {
  145. return e.replace(/^\s+|\s+$/g, "")
  146. }
  147.  
  148. function i(e) {
  149. return e.watcher || (e.watcher = document.createElement("a"))
  150. }
  151.  
  152. function s(e, t) {
  153. var n = e.getProxy(),
  154. r = "on" + t + "_",
  155. o = (0, f.configEvent)({
  156. type: t
  157. }, n);
  158. n[r] && n[r](o);
  159. var s;
  160. "function" == typeof Event ? s = new Event(t, {
  161. bubbles: !1
  162. }) : (s = document.createEvent("Event"), s.initEvent(t, !1, !0)), i(e).dispatchEvent(s)
  163. }
  164.  
  165. function u(e) {
  166. this.xhr = e, this.xhrProxy = e.getProxy()
  167. }
  168.  
  169. function a(e) {
  170. function t(e) {
  171. u.call(this, e)
  172. }
  173. return t[x] = Object.create(u[x]), t[x].next = e, t
  174. }
  175.  
  176. function c(e, t) {
  177. function n(e, t) {
  178. var n = new b(e),
  179. r = t.responseType,
  180. i = r && "text" !== r && "json" !== r ? t.response : t.responseText,
  181. s = {
  182. response: i,
  183. status: t.status,
  184. statusText: t.statusText,
  185. config: e.config,
  186. headers: e.resHeader || e.getAllResponseHeaders().split("\r\n").reduce(function(e, t) {
  187. if ("" === t) return e;
  188. var n = t.split(":");
  189. return e[n.shift()] = o(n.join(":")), e
  190. }, {})
  191. };
  192. if (!v) return n.resolve(s);
  193. v(s, n)
  194. }
  195.  
  196. function r(e, t, n, r) {
  197. var o = new w(e);
  198. n = {
  199. config: e.config,
  200. error: n,
  201. type: r
  202. }, x ? x(n, o) : o.next(n)
  203. }
  204.  
  205. function u() {
  206. return !0
  207. }
  208.  
  209. function a(e) {
  210. return function(t, n) {
  211. return r(t, this, n, e), !0
  212. }
  213. }
  214.  
  215. function c(e, t) {
  216. return 4 === e.readyState && 0 !== e.status ? n(e, t) : 4 !== e.readyState && s(e, p), !0
  217. }
  218. var h = e.onRequest,
  219. v = e.onResponse,
  220. x = e.onError,
  221. E = (0, f.hook)({
  222. onload: u,
  223. onloadend: u,
  224. onerror: a(l),
  225. ontimeout: a(d),
  226. onabort: a(y),
  227. onreadystatechange: function(e) {
  228. return c(e, this)
  229. },
  230. open: function(e, t) {
  231. var n = this,
  232. r = t.config = {
  233. headers: {}
  234. };
  235. r.method = e[0], r.url = e[1], r.async = e[2], r.user = e[3], r.password = e[4], r.xhr = t;
  236. var o = "on" + p;
  237. if (t[o] || (t[o] = function() {
  238. return c(t, n)
  239. }), h) return !0
  240. },
  241. send: function(e, t) {
  242. var n = t.config;
  243. if (n.withCredentials = t.withCredentials, n.body = e[0], h) {
  244. var r = function() {
  245. h(n, new g(t))
  246. };
  247. return !1 === n.async ? r() : setTimeout(r), !0
  248. }
  249. },
  250. setRequestHeader: function(e, t) {
  251. if (t.config.headers[e[0].toLowerCase()] = e[1], h) return !0
  252. },
  253. addEventListener: function(e, t) {
  254. var n = this;
  255. if (-1 !== f.events.indexOf(e[0])) {
  256. var r = e[1];
  257. return i(t).addEventListener(e[0], function(t) {
  258. var o = (0, f.configEvent)(t, n);
  259. o.type = e[0], o.isTrusted = !0, r.call(n, o)
  260. }), !0
  261. }
  262. },
  263. getAllResponseHeaders: function(e, t) {
  264. var n = t.resHeader;
  265. if (n) {
  266. var r = "";
  267. for (var o in n) r += o + ": " + n[o] + "\r\n";
  268. return r
  269. }
  270. },
  271. getResponseHeader: function(e, t) {
  272. var n = t.resHeader;
  273. if (n) return n[(e[0] || "").toLowerCase()]
  274. }
  275. }, t);
  276. return {
  277. originXhr: E.originXhr,
  278. unProxy: E.unHook
  279. }
  280. }
  281. Object.defineProperty(t, "__esModule", {
  282. value: !0
  283. }), t.proxy = r;
  284. var f = n(0),
  285. h = f.events[0],
  286. v = f.events[1],
  287. d = f.events[2],
  288. l = f.events[3],
  289. p = f.events[4],
  290. y = f.events[5],
  291. x = "prototype";
  292. u[x] = Object.create({
  293. resolve: function(e) {
  294. var t = this.xhrProxy,
  295. n = this.xhr;
  296. t.readyState = 4, n.resHeader = e.headers, t.response = t.responseText = e.response, t.statusText = e.statusText, t.status = e.status, s(n, p), s(n, h), s(n, v)
  297. },
  298. reject: function(e) {
  299. this.xhrProxy.status = 0, s(this.xhr, e.type), s(this.xhr, v)
  300. }
  301. });
  302. var g = a(function(e) {
  303. var t = this.xhr;
  304. e = e || t.config, t.withCredentials = e.withCredentials, t.open(e.method, e.url, !1 !== e.async, e.user, e.password);
  305. for (var n in e.headers) t.setRequestHeader(n, e.headers[n]);
  306. t.send(e.body)
  307. }),
  308. b = a(function(e) {
  309. this.resolve(e)
  310. }),
  311. w = a(function(e) {
  312. this.reject(e)
  313. })
  314. }, , function(e, t, n) {
  315. "use strict";
  316. Object.defineProperty(t, "__esModule", {
  317. value: !0
  318. }), t.ah = void 0;
  319. var r = n(0),
  320. o = n(1);
  321. t.ah = {
  322. proxy: o.proxy,
  323. hook: r.hook
  324. }
  325. }]));
  326. //# sourceMappingURL=ajaxhook.min.js.map