此代码的点击准确度必须小于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);
}
}
已在浏览器中引入降低的时间精度,以防止基于用户的浏览器响应毫秒定时请求的速度来跟踪用户。
https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
基本上,浏览器可以通过检查计算机的速度来跟踪不希望被跟踪的用户。因此,网络浏览器制造商现在可以随时使用。