Greasemonkey setTimeout 和 setInterval 未触发
我正在使用以下代码,我收到的唯一警报是 alert(t)
。我尝试过 unsafeWindow.setTimeout
、window.setTimeout
和其他变体,包括 setInterval - 没有任何效果。
$('#on').change(function () { t = setTimeout(function () { starttimer() },1000);timer_on = true;alert(t); });
function starttimer() {
alert('triggered');
if (timer_on) {
alert('timerstarted');
t = setTimeout(function () { startimer() },1000);
}
}
编辑:也没有错误。脚本继续执行,并且 t 具有正常值,只是函数从未运行。
I am using the following code, The only alert I get is the alert(t)
. I have tried unsafeWindow.setTimeout
, window.setTimeout
, and other variations including setInterval - nothing is working.
$('#on').change(function () { t = setTimeout(function () { starttimer() },1000);timer_on = true;alert(t); });
function starttimer() {
alert('triggered');
if (timer_on) {
alert('timerstarted');
t = setTimeout(function () { startimer() },1000);
}
}
Edit: No errors, either. The script continues to execute and t
has a normal value, just the function never runs.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要写这样的代码!学会爱上 jsBeautifier 和 JSLint。
您使用的是哪个版本的 FF 和 Greasemonkey?某些组合在计时器和/或事件侦听器内的警报方面存在问题。
不管怎样,
$('#time').val ()
可能不存在或者不是你想象的那样。$('#time')
是否引用?
试试这个代码:
Don't write code like that! Learn to love jsBeautifier and JSLint.
What version of FF and Greasemonkey are you using? Some combos had problems with alerts inside timers and/or event listeners.
Anyway,
$('#time').val ()
is probably not present or not what you think it is. Does$('#time')
refer to an<input>
?Try this code: