2011-07-12 56 views
1

我有HTML页面上的Active-X组件,用长时间方法(Process)来触发回调到javascript。Internet Explorer:如何以编程方式刷新html布局?

activex.Process(
     function (message) { 
      // alert(message); --> message box appears, everything ok 
      $("#panel").text(message); // panel doesn't refreshed! 
     } 
    } 

<div id="panel" > 
     active-x messages should be here! 
</div> 

回调火好吧(我可以看到messagebox'es),但面板不会刷新,直到Process方法返回。

我可以强制面板刷新还是应该从另一个线程中启动回调?

预先感谢您!

回答

1

如果您从JavaScript调用activex.Process(),则浏览器会阻塞,直到JS函数返回。

尝试在Process()中创建一个新线程并立即返回。这应该“解锁”您的浏览器。 IE的JavaScript引擎应该在您从新线程调用它时正确地同步回调代码。

+0

虽然有效,但让人头痛的线程 –