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

各位哥哥,怎么去掉网页的鼠标移动检测

[复制链接]

该用户从未签到

1

主题

5

回帖

8

积分

助理工程师

积分
8
发表于 2023-11-21 00:16:05 | 显示全部楼层 | 阅读模式
悬赏2油猫币已解决

//鼠标长时间不移动事件暂停时间
stopmove = setInterval("mouseNotMove()", 600000);
stopmove1;
var flag = true;//定义一个开关 停止的时候设置成false
//鼠标长时间不动
var _mouse_x = 0, _mouse_y = 0;
var _m_x = 0, _m_y = 0;
mouseNotMove = function () {
if (_m_x === _mouse_x && _m_y === _mouse_y) {
stop();
flag = false;
moveCount = 1;
train.util.alert("由于长时间停留,暂时停止计时,请移动鼠标继续学习!", function () {
});
clearInterval(stopmove);
clearInterval(stopmove1);
onclose();
return;
}

    _m_x = _mouse_x , _m_y = _mouse_y;
}

网页学习鼠标10分钟不动就会停止播放,该怎么去掉这个检测或者把检测的时间变的很长或者让坐标的位置不等于0或者更简洁的方法,请各位大哥指点一下

最佳答案

查看完整内容

let hookSetInterval=window.setInterval;//将系统提供的setInterval保存 window.setInterval=function(a,b){//将系统的setInterval替换为我们自己的 if(a=="mouseNotMove()"){ return; } return hookSetInterval(a,b/2);//经过处理后再调用系统的setInterval }
  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    638

    主题

    5234

    回帖

    6105

    积分

    管理员

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

    积分
    6105

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

    发表于 2023-11-21 00:16:06 | 显示全部楼层
    tantanxin147 发表于 2023-11-22 00:26
    抱歉  实在搞不明白  能不能把代码写出来  谢谢

    let hookSetInterval=window.setInterval;//将系统提供的setInterval保存
    window.setInterval=function(a,b){//将系统的setInterval替换为我们自己的
        if(a=="mouseNotMove()"){
           return;
        }
        return hookSetInterval(a,b/2);//经过处理后再调用系统的setInterval
    }
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

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

    [LV.7]常住居民III

    638

    主题

    5234

    回帖

    6105

    积分

    管理员

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

    积分
    6105

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

    发表于 2023-11-21 01:02:41 | 显示全部楼层
    他这里的setInterval传入的是字符串
    可以考虑直接对setInterval进行劫持过滤掉对应的内容不进行调用

    h5视频倍速,时间加速和run-at
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

  • TA的每日心情
    开心
    19 小时前
  • 签到天数: 191 天

    [LV.7]常住居民III

    3

    主题

    10

    回帖

    95

    积分

    初级工程师

    积分
    95

    挑战者 lv2

    发表于 2023-11-21 09:07:52 | 显示全部楼层
    直接hook把setInterval函数置空就最简单啦,前提是不影响其他功能,setInterval = function(){}
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2023-11-21 22:53:29 | 显示全部楼层
    本帖最后由 tantanxin147 于 2023-11-21 23:07 编辑
    李恒道 发表于 2023-11-21 01:02
    他这里的setInterval传入的是字符串
    可以考虑直接对setInterval进行劫持过滤掉对应的内容不进行调用

    这个网页本身还有一个学习时长的计时器,用了这个时间加速后,学习时长的计时器加快了,这个鼠标移动的计时器也被加快了,我应该怎么区分这两个setInterval,谢谢

    这应该是另一个计时器

    // 定时器记录页面学习的时长
    var hour, minute, second;// 时 分 秒
    hour = minute = second = 0;// 初始化
    var millisecond = 0;//毫秒
    var nowTime = 0;

    var int;

    // 页面初始化的时候加载函数
    function start()// 开始
    {
        int = setInterval(timer, 1000);
    }

    //计时
    function timer() {
        millisecond = millisecond + 1000;
        if (millisecond >= 1000) {
            millisecond = 0;
            second = second + 1;
        }
        if (second >= 60) {
            second = 0;
            minute = minute + 1;
        }

        if (minute >= 60) {
            minute = 0;
            hour = hour + 1;
        }


        document.getElementById('nowTime').innerHTML = hour + '时' + minute + '分'
            + second + '秒';
        nowTime = (hour * 3600) + (minute * 60) + second;

    }

    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2023-11-21 22:55:40 | 显示全部楼层
    yhzc2023 发表于 2023-11-21 09:07
    直接hook把setInterval函数置空就最简单啦,前提是不影响其他功能,setInterval = function(){} ...

    这个网页本身还有一个学习时长的计时器,用了这个代码后,时间就都停止了,可以单独作用一个计时器吗
    回复

    使用道具 举报

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

    [LV.7]常住居民III

    638

    主题

    5234

    回帖

    6105

    积分

    管理员

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

    积分
    6105

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

    发表于 2023-11-21 23:47:09 | 显示全部楼层
    tantanxin147 发表于 2023-11-21 22:53
    这个网页本身还有一个学习时长的计时器,用了这个时间加速后,学习时长的计时器加快了,这个鼠标移动的计 ...

    不是利用这个代码
    是根据这个代码的思路过滤掉"mouseNotMove()"的函数的触发
    直接看参数一是不是等于这个
    如果等于就不调用就可以了
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

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

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2023-11-22 00:26:24 | 显示全部楼层
    李恒道 发表于 2023-11-21 23:47
    不是利用这个代码
    是根据这个代码的思路过滤掉"mouseNotMove()"的函数的触发
    直接看参数一是不是等于这个 ...

    抱歉  实在搞不明白  能不能把代码写出来  谢谢
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    5

    回帖

    8

    积分

    助理工程师

    积分
    8
    发表于 2023-11-22 12:36:00 | 显示全部楼层
    李恒道 发表于 2023-11-21 00:16
    let hookSetInterval=window.setInterval;//将系统提供的setInterval保存
    window.setInterval=function(a ...

    真的可以了 谢谢  我还得在学习学习
    回复

    使用道具 举报

    发表回复

    本版积分规则

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