Javascript - callCom方法在Firefox中阻止动画gif和计时器

时间:2011-06-23 16:10:22

标签: javascript synchronization firefox-addon xpcom animated-gif

我有一个Firefox扩展,弹出一个登录表单(这是一个c ++ winform,而不是重要......)。它是使用callCom技术完成的 - 意味着集成了c ++客户端,初始化Components.classes,然后是createInstance(),查询接口等。

因此,在Firefox中,当我调用客户端的登录屏幕时,浏览器正在等待它同步关闭,因此一切都“卡住”了。我的意思是,计时器,GIF动画等等。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在没有真正了解您的扩展的情况下 - 您调用的XPCOM方法需要立即返回,而不是在不处理任何事件的情况下等待某些事情。一般设计原则是:在主线程上阻塞动作是个坏主意。这可能意味着在你的情况下:创建一个新线程,让这个线程打开表单并等待它,允许XPCOM方法快速返回而不阻塞主线程。