Cra*_*rer 10 javascript ajax animated-gif
我展示了一个动画GIF,它在我的AJAX请求正在进行时运行,并在我的脚本处理完响应后停止.
虽然这有效,但我注意到,虽然请求的响应正在我的脚本中处理(其中包含一些相当大量的DOM更新),但动画会冻结.
我的研究让我相信这是因为GIF的动画发生在javascript运行的同一个线程上 - 浏览器是真正的单线程.这是所有当前主流浏览器(例如Chrome,Firefox,Safari,IE)的正确解释吗?
其次,为什么这样做?是否真的不可能浏览器可以将一个线程专用于GIF动画,因此当执行一个javascript块时它们没有冻结?
更新
这是一个有趣的页面.它讨论了使用纯CSS3动画.他们仍然在Firefox中冻结 - 也许很快FF就会解决这个问题.看起来我应该考虑使用CSS来制作动画,而不是使用GIF.
小智 1
我想问题是(恕我直言)当你更新 dom 时,浏览器不会重新绘制页面,因此图像会冻结。
尝试在不改变 dom 的情况下做繁重的事情,gif 应该有动画(如果你的 cpu 很忙的话会很慢)但不会冻结。
如果它冻结了,你可以显式地为该工作创建一个新线程(使用 webworker),但如果我没记错的话,你无法从 webworker 中更改 dom。
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |