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

雨课堂点击下一页无效,求助

[复制链接]

该用户从未签到

2

主题

4

回帖

10

积分

助理工程师

积分
10
发表于 2023-9-28 17:44:20 | 显示全部楼层 | 阅读模式
悬赏10油猫币已解决

经过初步了解,发现应该还有一个mousemove事件对click事件有影响,借鉴了本论坛其他的其他的一些方式,使用代码:
$('.header-bar').dispatchEvent(new Event('mousemove')); $('.btn-next').dispatchEvent(new Event('click'));
发现无效,不知道这个怎么解决呢。
image.png
image.png~~~~
必要时可以提供账号。

最佳答案

查看完整内容

[md]善用调试工具 根据https://bbs.tampermonkey.net.cn/thread-5084-1-1.html的方式可以直接追到click函数 可以看出是根据this.hasMouse || this.hasLeftMouse) && this.mouseTarget == s ```js changeHasMosue: function(t, e) { this.hasLeftMouse = t, this.mouseTarget = e || null }, goDetail: function(t, ...
  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

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

    积分
    6763

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

    发表于 2023-9-28 17:44:21 | 显示全部楼层

    善用调试工具
    根据https://bbs.tampermonkey.net.cn/thread-5084-1-1.html的方式可以直接追到click函数
    可以看出是根据this.hasMouse || this.hasLeftMouse) && this.mouseTarget == s

                        changeHasMosue: function(t, e) {
                            this.hasLeftMouse = t,
                            this.mouseTarget = e || null
                        },
                        goDetail: function(t, e) {
                            var i = this
                              , s = e.target;
                            if ((this.hasMouse || this.hasLeftMouse) && this.mouseTarget == s) {

    直接搜索hasMouse找到了

                                mousemove: a()(s = function(t) {
                                    e.hasMouse = Math.sqrt(Math.pow(t.clientX - o, 2) + Math.pow(t.clientY - l, 2)),
                                    this.$emit("changeHasMosue", e.hasMouse, t.target)
                                }
                                ).call(s, this),
                                mouseout: a()(n = function(t) {
                                    e.hasMouse = !1,
                                    o = 0,
                                    l = 0,
                                    this.$emit("changeHasMosue", e.hasMouse)
                                }
                                ).call(n, this)

    可得是通过时间冒泡捕获当前鼠标悬浮的元素,点击时判断是否一致

    event=new Event('mousemove',{bubbles:true})
    event.clientX=9999
    event.clientY=9999
    $('.btn-next').dispatchEvent(event); 
    $('.btn-next').dispatchEvent(new  Event('click')); 

    可得以上代码

    不过还是优先建议拿vue实例直接触发

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

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

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

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

    积分
    6763

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

    发表于 2023-9-28 18:28:18 | 显示全部楼层
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    该用户从未签到

    2

    主题

    4

    回帖

    10

    积分

    助理工程师

    积分
    10
    发表于 2023-9-28 21:54:04 | 显示全部楼层
    李恒道 发表于 2023-9-28 18:24
    [md]善用调试工具
    根据https://bbs.tampermonkey.net.cn/thread-5084-1-1.html的方式可以直接追到click函数 ...
    1. e.hasMouse = Math.sqrt(Math.pow(t.clientX - o, 2) + Math.pow(t.clientY - l, 2)),
    复制代码

    我目前的理解:
    这个t.clientXY是鼠标相对于header-bar的最终移动坐标,o,l 是什么我不确定。看代码好像是进入header-bar时的初始坐标,否则就是0,但实际好像不是。所以e.hasMouse 的判定还是理解不太明确。
    1. if ((this.hasMouse || this.hasLeftMouse) && this.mouseTarget == s) {
    复制代码

    这个 this.hasLeftMouse 好像就是调试的时候总是显示为false。不知道啥情况,这个this.mouseTarget === s 应该是判断鼠标悬浮元素合理不。
    1. event.clientX=9999
    2. event.clientY=9999
    复制代码

    这俩是啥意思呢,为啥要这样呢,目前还不太懂。
    初步复现了调试技术。学会了一点,不过因为知识薄弱不懂的更多,持续学习中...等能看懂了再来总结思路。
    回复

    使用道具 举报

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

    [LV.7]常住居民III

    712

    主题

    5966

    回帖

    6763

    积分

    管理员

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

    积分
    6763

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

    发表于 2023-9-28 21:59:27 | 显示全部楼层
    aliniu 发表于 2023-9-28 21:54
    我目前的理解:
    这个t.clientXY是鼠标相对于header-bar的最终移动坐标,o,l 是什么我不确定。看代码好像 ...

    解决hasMouse
    懒得思考了
    就直接赋值超大值测试了
    这个还是控制vue实例更稳定一些
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    发表回复

    本版积分规则

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