此代码的点击准确度必须小于5毫秒,但为什么不呢?

问题描述 投票:0回答:1

此代码的点击准确度必须小于5毫秒但是为什么不呢?我不明白为什么领事结果是-16!有人可以为这个目标提出更好的建议或予以纠正吗?请

var btns = document.getElementsByClassName('x-btn-inner x-btn-inner-default-medium x-rtl')
var targetBtn;
for (let i =0 ; i< btns.length; i++) 
{
    if(btns[i].innerText === 'ok') 
    {
        targetBtn = btns[i];
    }
}
var    target = new Date();

target.setHours(10);
target.setMinutes(29);
target.setSeconds(59);
target.setMilliseconds(980); 

setInterval(func, 5);
function func() 
{
    var jnow = new Date();      //get current time
    var diff = (target-jnow);   // result in milisecond
    if(diff <= 0 &&  diff > -500) 
    {
        targetBtn.click();
        //alert(diff);
        console.log(diff);

    }
} 

click setinterval
1个回答
0
投票

已在浏览器中引入降低的时间精度,以防止基于用户的浏览器响应毫秒定时请求的速度来跟踪用户。

https://developer.mozilla.org/en-US/docs/Web/API/Performance/now

基本上,浏览器可以通过检查计算机的速度来跟踪不希望被跟踪的用户。因此,网络浏览器制造商现在可以随时使用。

© www.soinside.com 2019 - 2024. All rights reserved.