经过测试发现alert会中断settimeout的计时功能,关闭对话框后,settimeout的时间会重头开始计时,而不是从中断处。
比如:settimeout定时5分钟后执行某方法,但是在等待3分钟后,弹出了alert,关闭alert后,settimeout会重头开始计时,再等5分钟,而不是2分钟。
并且只要是同一浏览器窗口内,即使在不同frame中,alert也会中断其他frame中的settimeout,
为什么这么设计,不明白,是因为javascript是单线程的吗?
这是在ie浏览器中的发现,其他对话框和弹出框我没有测试过。
真希望html5快些普及,这样需要多线程的功能也就能解决了。
时间: 2024-09-19 16:25:53