看板 Web_Design 關於我們 聯絡資訊
------------2015/07/20更新--------------------- 謝謝大家,目前還是用了之前比較不想用的setInterval來處理 定時一段時間來呼叫處理程序,這樣處理完成後就能即時將結果Show在畫面上 不過坦白說這樣的方式感覺很不合乎邏輯,希望板上的前輩們若有更好的方法 請務必告訴我,非常感謝! ----------------------------------------------- 大家好,第一次發文 最近在寫一個工具用的程式當練習,用Javascript調用ActiveXObject來跑Word的VBA 主要是跑一個批次作業,所以想在網頁上顯示批次執行的結果。 程式碼大致如下: $("ProcessGo").click(function(){ ... ... ... for(var key in books) { print(books[key]; BatchTextImport(books[key],Word_Application); } Word_Application.Quit(); Word_Application = null; }); print()的內容只是單純利用JQuery把輸入的文字設定到TextArea上而已,如下: function print(str){ $("#Console").text( $("#Console").text() + str + "\n"); return false } 原本想要執行完一次後,就讓TextArea增加一行訊息。 但實際執行的結果卻是,整個batch跑完後,才會一次將結果顯示出來Orz... 似乎是要整個function執行完成後才會顯示結果的樣子... 不知道前輩們有沒有解決的方式,還是無解呢Q___Q 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.141.247 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1437210047.A.FDB.html CrazyAngel: print那邊回傳callback 看過網路上的文章,並試著嘗試後似乎問題還是一樣,可否麻煩C大提供範例。
eight0: 瀏覽器會在 function 結束後才重繪,必須要分段做 07/19 03:44
我有想過是function還沒結束,因此無法顯示textarea的結果,但要分段做沒什麼概念 ,因為要是function結束後,在來執行下一個處理,不知道要怎麼讓下一個function開始 (是要叫使用著再按一次按鈕嗎? 還是有我沒想到的部分,麻煩M大提點一下) ※ 編輯: iwasawasin (61.219.141.247), 07/20/2015 14:07:12 ※ 編輯: iwasawasin (61.219.141.247), 07/20/2015 14:07:48 ※ 編輯: iwasawasin (61.219.141.247), 07/20/2015 14:08:58 ※ 編輯: iwasawasin (61.219.141.247), 07/20/2015 14:38:44