上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖
楼主: cxxjackie - 

ajax劫持库ajaxHooker

  [复制链接]
  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 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改没了,我只能从实例上一个个劫持)。这种粗暴的改法可能产生性能问题,说实话我也不知道该如何取舍。
    回复
    订阅

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6763

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2024-4-20 21:52:37 | 显示全部楼层
    cxxjackie 发表于 2024-4-19 22:19
    没账号无法复现。。。如果是你说的问题,那只能把open等函数的劫持放到实例化劫持里面,让其直接读取xhr ...

    那个未经任何劫持的xhr因为网页太乱了以及我个人功力问题也没搞明白到底怎么生成出来的

    不过确实通用库涉及取舍问题太麻烦了....

    感觉怎么做都会有其他人出现问题和反馈
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2024-4-20 22:43:34 | 显示全部楼层
    李恒道 发表于 2024-4-20 21:52
    那个未经任何劫持的xhr因为网页太乱了以及我个人功力问题也没搞明白到底怎么生成出来的

    不过确实通用库 ...

    我就是为了兼容加了太多看起来舍近求远的代码,网页自己的劫持没有统一的标准,实在太难搞了,我自己都能想到一堆把我的库干废的手段。
    引用问题我已经想到了一个折衷的办法,等我再研究研究,顺便解决一些之前遗留的问题。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2024-5-5 23:55:45 | 显示全部楼层
    gbly 发表于 2024-1-13 10:27
    感谢大佬,能用了,最后确认是onloadend,不过这段代码好像和ajaxHooker有冲突,只要@require js了就不起 ...

    1.4.0已实现此特性,利用abort参数即可。
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-12-30 16:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    6

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2024-6-6 14:23:14 | 显示全部楼层
    请教大佬如何引入js到chrome扩展 background.js里使用
    我直接粘贴代码到第一行, 报错是Uncaught ReferenceError: window is not defined
    应该是没法获取window对象
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-12-30 16:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    6

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2024-6-6 15:09:48 | 显示全部楼层
    asdfxed 发表于 2024-6-6 14:23
    请教大佬如何引入js到chrome扩展 background.js里使用
    我直接粘贴代码到第一行, 报错是Uncaught ReferenceE ...

    自己修改代码貌似可以了
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2024-6-6 22:15:14 | 显示全部楼层
    asdfxed 发表于 2024-6-6 14:23
    请教大佬如何引入js到chrome扩展 background.js里使用
    我直接粘贴代码到第一行, 报错是Uncaught ReferenceE ...

    这个我不太了解,没写过扩展,有问题的话可以请教一之大佬。
    另:我记得扩展劫持有更强大的API,用这个库可能不是一个好选择。
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2022-12-30 16:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    6

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2024-6-7 11:08:25 | 显示全部楼层
    本帖最后由 asdfxed 于 2024-6-7 13:35 编辑

    编辑编辑编辑
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    回帖

    6

    积分

    助理工程师

    积分
    6
    发表于 2024-6-9 16:55:20 | 显示全部楼层
    是不是不支持YouTube啊?我什么都没做,就加了句
    // @require https://scriptcat.org/lib/637/1.4.1/ajaxHooker.js#sha256=k69hpCTTpzC162cpC1b4R2QyG/NRLFcbRV+7orOXq+k=
    油管就没法加载瀑布了
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    881

    回帖

    1379

    积分

    荣誉开发者

    积分
    1379

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 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修复此问题。
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表