我正在寫一個簡單的基於dojo的應用程序,我用setTimeout(clearMessage())在UI(jsp)上顯示一些'進行中'消息和旋轉器方法來顯示消息的某個時間。Dojo xhrget同步:真正的調用凍結IE用戶界面,而FF工作正常
在Firefox上,當時xhrGet調用會進入服務器並返回,此消息會向用戶顯示該操作正在進行中。一旦該操作以狀態響應,則該消息被更新爲「操作成功完成」。
但在IE上,我發現一旦發送了xhrGet調用,IE UI凍結,直到響應從服務器返回。由於這種行爲,我的'正在進行'消息根本不在IE上。
我也讀了一些評論,一些瀏覽器可能會凍結這種方式在Ajax call freezes UI in internet explorer but works fine in firefox同步呼叫。有沒有辦法,我可以在IE上顯示我的「正在進行中」消息,同時保留同步:真正的xhrGet的attaribute?
這裏的任何幫助表示讚賞?
在此先感謝。
一些代碼示例可能有幫助,老實說,我不確定它爲什麼在FireFox中工作,因爲它也是單線程的,這就是爲什麼同步xhr被認爲是一個很糟糕的做法... –
有沒有一個很好的理由爲什麼你要同步:真?除非它是在頁面卸載之前觸發的ajax調用,否則我看不到實際的用例......另外,您使用的是哪種dojo版本? – Philippe
嗨Phillippe,我們使用Dojo 1.8。這種情況是用戶從用戶界面發起的操作,用戶界面正在等待的響應,同時我不希望用戶可以自由地執行任何其他操作。如果他這樣做,則以前的操作的響應不能顯示給他/她,新的響應將覆蓋響應區域。 – Shankar