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

求助怎么拖动这个图片

[复制链接]
  • TA的每日心情
    慵懒
    2022-10-4 02:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    6

    主题

    17

    回帖

    31

    积分

    助理工程师

    积分
    31
    发表于 2022-8-18 17:00:35 | 显示全部楼层 | 阅读模式
    悬赏2油猫币已解决

    链接 https://jingyan.baidu.com/edit/content
    先右侧上传图片,再拖到左侧去(好像需要登录百度账号才能上传)

    我先用.dispatchEvent(new MouseEvent("mousedown", { bubbles: 1 }))点击图片这一步有效

    然后mousemove,再mouseup这两步一直无效

    最佳答案

    查看完整内容

    [md]最近忙,没空细究,稍微给点思路吧 涉及到MouseEvent的事件基本都很复杂, 因为任何涉及鼠标移动的监听事件都会监听其中的纵、横坐标,然后通过算法进行计算最后达到预期效果 由于MouseEvent的关键属性都是只读的,所以需要通过new Event复制MouseEvent的属性达到模拟效果 **mousedown**(x,y坐标实际上大于0都行,只影响图片显示) ``` let e=new Event("mousedown",{bubbles:true,cancelable:true,cancelBubble:false,compos ...
  • TA的每日心情
    慵懒
    8 小时前
  • 签到天数: 632 天

    [LV.9]以坛为家II

    30

    主题

    535

    回帖

    1407

    积分

    荣誉开发者

    积分
    1407

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2022-8-18 17:00:36 | 显示全部楼层

    最近忙,没空细究,稍微给点思路吧
    涉及到MouseEvent的事件基本都很复杂, 因为任何涉及鼠标移动的监听事件都会监听其中的纵、横坐标,然后通过算法进行计算最后达到预期效果
    由于MouseEvent的关键属性都是只读的,所以需要通过new Event复制MouseEvent的属性达到模拟效果
    mousedown(x,y坐标实际上大于0都行,只影响图片显示)

    let e=new Event("mousedown",{bubbles:true,cancelable:true,cancelBubble:false,composed:true})
    e.which=1
    e.screenY=e.clientY=e.y=205
    e.screenX=e.clientX=e.x=1157
    document.querySelector("#WU_FILE_0").dispatchEvent(e)

    mouseup

    document.querySelector("#WU_FILE_0").dispatchEvent(new Event("mouseup",{bubbles:true}))

    至于mousemove你自己研究吧,每个页面的方法都不一样,一般都需要逆向源码,比较复杂

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-10-4 02:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    6

    主题

    17

    回帖

    31

    积分

    助理工程师

    积分
    31
    发表于 2022-8-18 17:01:24 | 显示全部楼层
    求助大佬@steven026
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    637

    主题

    5194

    回帖

    6076

    积分

    管理员

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

    积分
    6076

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

    发表于 2022-8-18 20:36:57 | 显示全部楼层
    网站基于backbonejs做构建的
    可以考虑先翻阅源代码找到实例注入点
    然后直接拿到对应实例做原生函数劫持
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-10-4 02:13
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    6

    主题

    17

    回帖

    31

    积分

    助理工程师

    积分
    31
    发表于 2022-8-18 21:57:43 | 显示全部楼层
    steven026 发表于 2022-8-18 20:49
    [md]最近忙,没空细究,稍微给点思路吧
    涉及到MouseEvent的事件基本都很复杂, 因为任何涉及鼠标移动的监听 ...

    多谢指点,已经弄好了
    mousemove加上目的地的坐标,就可以了
    new MouseEvent("mousemove", { bubbles: true, clientX: a.left + 1, clientY: a.top + 1 })
    回复

    使用道具 举报

    发表回复

    本版积分规则

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