Javascript阻止脚本执行

mck*_*k89 5 javascript cross-browser execution

我需要做这样的事情:

  • 执行一段代码
  • 开始加载图像并阻止脚本执行
  • 加载图像后,继续执行
  • 执行其余代码

我知道最简单的方法是在图像的onload事件上分配一个函数,然后执行函数中的其余代码,但是如果可能的话我想要一个阻止脚本执行然后恢复的"线性"行为它.那么,有没有跨浏览器的方式来做到这一点?

And*_*y E 3

阻止脚本执行的唯一方法是使用循环,这也会锁定大多数浏览器并阻止与网页的任何交互。

Firefox、Chrome、Safari、Opera 和 IE支持该complete属性,并最终在 HTML5 中标准化。这意味着您可以使用while循环来停止脚本执行,直到图像下载完成。

var img = new Image();
img.src = "/myImage.jpg";
document.body.appendChild(img);
while (!img.complete) 
{
    // do nothing...
}

// script continues after image load
Run Code Online (Sandbox Code Playgroud)

话虽如此,我认为您应该寻找在不锁定浏览器的情况下实现目标的方法。