gpt4 book ai didi

如果 60 秒不活动,javascript 单击按钮

转载 作者:行者123 更新时间:2023-11-28 01:02:26 26 4
gpt4 key购买 nike

我找了好久,制作了不同的文件,但都无法正常工作。

我需要什么:如果我 1 分钟没有与网页交互,请执行以下操作:- 单击按钮。- 如果我仍然没有互动,请在 30 秒后重复点击

当我返回网页(再次交互)时,我不希望此脚本继续运行...仅当我不再交互时。

我已经做到了:

function findButtonbyTextContent(text) {
var buttons = document.getElementsByTagName('button');
for (var i=0; i<buttons.length; i++) {
if (buttons[i].firstChild.nodeValue == text)
return buttons[i];
}
}

function refresh(tijd){
setInterval(findButtonbyTextContent("Refresh").click(), tijd);
}

document.onmousemove = (function() {
var onmousestop = function() {
refresh(30000);
}, thread;

return function() {
clearTimeout(thread);
thread = setTimeout(onmousestop, 60000);
};
})();

最佳答案

我的做法是这样的

var int, timer, btn = document.getElementById('button');

document.onmousemove = function () {
clearTimeout(timer);
clearInterval(int);
timer = setTimeout(function() {
int = setInterval(function() {
btn.click();
}, 30000);
}, 60000);
}

FIDDLE

我给了按钮一个 ID,并缩短了 Fiddle 中的时间,这样就不必等待几分钟才能看到结果。

作为旁注,您的代码存在一些问题,例如这个

setInterval(findButtonbyTextContent("Refresh").click(), tijd);

立即调用 click 函数并返回 undefined,因此它根本不会执行您认为它执行的操作,并且您不会在任何地方存储对间隔的引用,仅存储对初始setTimeout,清除并没有清除间隔,仍然继续进行。

关于如果 60 秒不活动,javascript 单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25464197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com