tantanxin147 发表于 2023-11-21 00:16:05

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

//鼠标长时间不移动事件暂停时间
    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或者更简洁的方法,请各位大哥指点一下**

李恒道 发表于 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
}

李恒道 发表于 2023-11-21 01:02:41

他这里的setInterval传入的是字符串
可以考虑直接对setInterval进行劫持过滤掉对应的内容不进行调用

h5视频倍速,时间加速和run-at

yhzc2023 发表于 2023-11-21 09:07:52

直接hook把setInterval函数置空就最简单啦,前提是不影响其他功能,setInterval = function(){}

tantanxin147 发表于 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;

}

tantanxin147 发表于 2023-11-21 22:55:40

yhzc2023 发表于 2023-11-21 09:07
直接hook把setInterval函数置空就最简单啦,前提是不影响其他功能,setInterval = function(){} ...

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

李恒道 发表于 2023-11-21 23:47:09

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

不是利用这个代码
是根据这个代码的思路过滤掉"mouseNotMove()"的函数的触发
直接看参数一是不是等于这个
如果等于就不调用就可以了

tantanxin147 发表于 2023-11-22 00:26:24

李恒道 发表于 2023-11-21 23:47
不是利用这个代码
是根据这个代码的思路过滤掉"mouseNotMove()"的函数的触发
直接看参数一是不是等于这个 ...

抱歉实在搞不明白{:4_88:}能不能把代码写出来谢谢

tantanxin147 发表于 2023-11-22 12:36:00

李恒道 发表于 2023-11-21 00:16
let hookSetInterval=window.setInterval;//将系统提供的setInterval保存
window.setInterval=function(a ...

真的可以了 谢谢我还得在学习学习
页: [1]
查看完整版本: 各位哥哥,怎么去掉网页的鼠标移动检测