搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Javascript setTimeout and setInterval are ignored.

  • 5 个回答
  • 13 人有此问题
  • 2 次查看
  • 最后回复者为 IceMetalPunk

more options

While working on my website (I'm a web developer), I noticed a strange thing about Firefox 6.0 and above: setTimeout and setInterval don't seem to work at all. They used to, but ever since I upgraded past 6.0 (I'm currently using 7.0.1), they're just ignored.

They return a valid handle, but the functions they're supposed to trigger just never execute. For example, if I try this code:

timer = setTimeout(doSomething, 1000);

"Timer" is a valid ID, but doSomething never executes. Even if I wrap doSomething in an anonymous function, still nothing happens. And as I've said, the problem is with setTimeout as well as setInterval.

While working on my website (I'm a web developer), I noticed a strange thing about Firefox 6.0 and above: setTimeout and setInterval don't seem to work at all. They used to, but ever since I upgraded past 6.0 (I'm currently using 7.0.1), they're just ignored. They return a valid handle, but the functions they're supposed to trigger just never execute. For example, if I try this code: timer = setTimeout(doSomething, 1000); "Timer" is a valid ID, but doSomething never executes. Even if I wrap doSomething in an anonymous function, still nothing happens. And as I've said, the problem is with setTimeout as well as setInterval.

所有回复 (5)

more options

A good place to ask advice about web development is at the mozillaZine Web Development/Standards Evangelism forum.
The helpers at that forum are more knowledgeable about web development issues.
You need to register at the mozillaZine forum site in order to post at that forum.

See http://forums.mozillazine.org/viewforum.php?f=25

more options

Thanks. I've just posted the problem there and am awaiting a response.

Upon further testing, it seems that the same timeout will sometimes work and other times be ignored. Without changing anything, simply reloading the page makes the timeouts work or not seemingly "randomly". The weird thing is that when the timeouts don't work, they won't even work if I set a new timeout from the Scratchpad, but when they do work, they work from both the page and the Scratchpad.

more options

Do you see any errors in the Firefox > Web Developer > Error Console ?

more options

Not a single error or warning. That's the most annoying part is that Firefox is acting as if everything executed just fine, but it's not actually executing the function.

more options

Well, I've just figured out what causes this problem. If I use the Scratchpad to show an alert (which I often do while testing my website as I develop it), then the tab that was open stops responding to any timeouts or intervals. If I go to another page in that tab, they still don't work. Only if I close the tab and open a new one do the timeouts begin working again.

Sounds like a bug to me. Where do I report bugs to Mozilla?