Javascript 在间隔内调用函数后运行函数?
我正在制作一个油腻的脚本,我发现了一个问题。该网站有一个在一定时间间隔内运行的功能:Javascript 在间隔内调用函数后运行函数?,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,我正在制作一个油腻的脚本,我发现了一个问题。该网站有一个在一定时间间隔内运行的功能: jQuery(function1.run); setInterval(function1.run, function1.interval); 我想在function1.runinterval完成后立即运行我的函数。我无法更改网站代码中的任何内容,因此我只能依靠我将添加的内容 到目前为止,我尝试的所有方法都只调用了一次我的函数 我希望在function1.run interval完成后立即运行我的函数。我无法更
jQuery(function1.run);
setInterval(function1.run, function1.interval);
我想在function1.run
interval完成后立即运行我的函数。我无法更改网站代码中的任何内容,因此我只能依靠我将添加的内容
到目前为止,我尝试的所有方法都只调用了一次我的函数
我希望在function1.run interval完成后立即运行我的函数。我无法更改网站代码中的任何内容
要可靠地做到这一点是很困难的。您可以将自己的函数设置为也在间隔上运行(通过将函数传递到setInterval
),如果您使自己的间隔小于他们的间隔,则应确保在调用他们的函数之间至少调用一次函数(有时两次),但是你不能确定它是否会在他们之后立即运行
一些想法:
//它们的功能:每秒一次
var=setInterval(函数(){
log(“他们的”);
}, 1000);
//你的功能:每9/10秒一次
var=setInterval(函数(){
log(“您的”);
}, 900);
setTimeout(函数(){
log(“停止”);
清除间隔(他们的);
clearInterval(你的);
}, 30000);代码>
Third way在我看来很好,但当我实现浏览器时,浏览器挂起,显示javascript错误。我不知道为什么,但我猜这是因为已更改的元素是一个长字符串。@m0drzew:Length不重要。我的第一个想法是,它们的函数正在进行很多更改,并且您的函数被调用的次数太多,但这是突变观察者修复的事情之一(与突变事件相比)。不过,您可能会检查它是否被调用过多,并添加一些去抖动。现在我实现了第二个解决方案,现在它运行良好。现在我将尝试使用变异观察者。它适用于childList属性,但仍然-整个浏览器停止响应,我需要等待一段时间,直到我恢复控制。但是现在我得到了我想要的,所以谢谢。