cxxjackie
发表于 2024-4-19 22:19:18
李恒道 发表于 2024-4-19 10:14
https://bbs.tampermonkey.net.cn/thread-6852-1-1.html
c大,这个我研究了一下
是原网页劫持了open的函数 ...
没账号无法复现。。。如果是你说的问题,那只能把open等函数的劫持放到实例化劫持里面,让其直接读取xhr,不过这样做每个请求都会生成不同的open,我其实是故意把这些函数解耦的,通过this获取xhr,这样不同请求可以共用同一函数引用,以达到减少引用数的目的(有些网站把prototype改没了,我只能从实例上一个个劫持)。这种粗暴的改法可能产生性能问题,说实话我也不知道该如何取舍。
李恒道
发表于 2024-4-20 21:52:37
cxxjackie 发表于 2024-4-19 22:19
没账号无法复现。。。如果是你说的问题,那只能把open等函数的劫持放到实例化劫持里面,让其直接读取xhr ...
那个未经任何劫持的xhr因为网页太乱了以及我个人功力问题也没搞明白到底怎么生成出来的
不过确实通用库涉及取舍问题太麻烦了....
感觉怎么做都会有其他人出现问题和反馈
cxxjackie
发表于 2024-4-20 22:43:34
李恒道 发表于 2024-4-20 21:52
那个未经任何劫持的xhr因为网页太乱了以及我个人功力问题也没搞明白到底怎么生成出来的
不过确实通用库 ...
我就是为了兼容加了太多看起来舍近求远的代码,网页自己的劫持没有统一的标准,实在太难搞了,我自己都能想到一堆把我的库干废的手段。
引用问题我已经想到了一个折衷的办法,等我再研究研究,顺便解决一些之前遗留的问题。
cxxjackie
发表于 2024-5-5 23:55:45
gbly 发表于 2024-1-13 10:27
感谢大佬,能用了,最后确认是onloadend,不过这段代码好像和ajaxHooker有冲突,只要@require js了就不起 ...
1.4.0已实现此特性,利用abort参数即可。
asdfxed
发表于 2024-6-6 14:23:14
请教大佬如何引入js到chrome扩展 background.js里使用
我直接粘贴代码到第一行, 报错是Uncaught ReferenceError: window is not defined
应该是没法获取window对象
asdfxed
发表于 2024-6-6 15:09:48
asdfxed 发表于 2024-6-6 14:23
请教大佬如何引入js到chrome扩展 background.js里使用
我直接粘贴代码到第一行, 报错是Uncaught ReferenceE ...
自己修改代码貌似可以了
cxxjackie
发表于 2024-6-6 22:15:14
asdfxed 发表于 2024-6-6 14:23
请教大佬如何引入js到chrome扩展 background.js里使用
我直接粘贴代码到第一行, 报错是Uncaught ReferenceE ...
这个我不太了解,没写过扩展,有问题的话可以请教一之大佬。
另:我记得扩展劫持有更强大的API,用这个库可能不是一个好选择。
asdfxed
发表于 2024-6-7 11:08:25
本帖最后由 asdfxed 于 2024-6-7 13:35 编辑
编辑编辑编辑
笑熬浆糊4
发表于 2024-6-9 16:55:20
是不是不支持YouTube啊?我什么都没做,就加了句
// @require https://scriptcat.org/lib/637/1.4.1/ajaxHooker.js#sha256=k69hpCTTpzC162cpC1b4R2QyG/NRLFcbRV+7orOXq+k=
油管就没法加载瀑布了
cxxjackie
发表于 2024-6-10 22:30:28
笑熬浆糊4 发表于 2024-6-9 16:55
是不是不支持YouTube啊?我什么都没做,就加了句
// @require https://scriptcat.org/lib/637/1.4.1/ajaxHo ...
感谢反馈,经测试发现油管的fetch请求使用了Request类型,库未对body做类型转换导致了bug,已更新1.4.2修复此问题。