Javascript setTimeout and setInterval are ignored.
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)
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.
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.
Do you see any errors in the Firefox > Web Developer > Error Console ?
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.
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?