Gif 不在 IE11 上使用背景脚本 运行 设置动画,而 chrome 正常

Gif not animating on IE11 with background script running while chrome is ok

我google关于IE动画的问题很多,但是没有人能正面回答我的问题。像Animated GIF while loading page does not animate , ie animated gif freeze til page loads等等。

我做了以下测试:

  1. 使用 Chrome 和 IE11 打开 运行 gif,比如 http://127.0.0.1/loading.gif。您应该会看到这两个 gif 效果都很好。
  2. 打开IE devtools和Chrome devtools,粘贴以下代码

    for(var i=0; i <= 2000000000; i++){if(i==2000000000) console.log("Script finished")}
    

  3. 再看结果。现在用chrome打开的gif仍然可以运行,但是用IE11打开的gif会卡住,直到后台脚本执行完。

为什么 gif 在 IE11 上没有 运行 背景脚本?是否可以解决或解决它?

网页的执行是自上而下的单线程。 Javascript 看起来是多线程的,但实际上 Javascript 是单线程的。这就是加载外部 javascript 文件时,主 HTML 页面的解析被暂停的原因。

这是IE浏览器加载网页的方式。 Chrome 可能有一些不同的方法。

我建议您参考下面的主题,这可能有助于您理解这个主题。

Load and execution sequence of a web page?