0

I have the following code:

var self = this;
jQuery('#' + loadingAlert.id).promise()
          .done(() => self.showProgress())
          .done(window.setTimeout(() => self.someMethod(), 100));
          .done(() => self.hideProgress());

The someMethod function makes the browser so busy that it freezes the loading gif. Is there any work around for this so that my loading gif moves while the browser is busy (note: cannot click on anything as it is very busy);

4

2 回答 2

0

在现代浏览器中,您可以使用网络工作者。– 凯文 B

我使用 webworker 来解决这个问题,所以繁重的解析是在后台进行的,也不会冻结浏览器。

虽然它在 IE9 和此处提到的其他浏览器中不起作用,但我只是做了一个解决方法:

if (window['Worker']) { ... }

这意味着它是否支持网络工作者。那些不支持 webworker 的会挂起(仍然使用我的旧代码),但是可以完美运行的浏览器版本。

于 2013-08-01T04:27:03.423 回答
0

有什么解决方法可以让我的加载 gif 在浏览器忙碌时移动

不可以。您将不得不更改someMethod导致冻结变为异步的函数并以较小的块完成其工作。

于 2013-07-30T21:10:14.733 回答