2011-07-12 57 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

雖然有效,但讓人頭痛的線程 –