2014-09-12 60 views
0

的頁面梅森顯示進度,我被迫使用HTML::Mason爲動態生成的網頁。不幸的是,頁面依賴於一些長時間運行的計算。我需要以某種方式向用戶顯示進度。是否有可能讓梅森不等待頁面完全生成?HTML ::生成

回答

1

有過類似的問題(雖然我是用模板工具包爲前端),我使用的解決方案是向用戶顯示「查詢正在進行」頁面。這有一個鏈接,用戶可以點擊檢查結果;如果查詢已完成,結果會出現,如果不是,則會加載另一個「進度」頁面。該頁面在一段時間後自動刷新,以便用戶可以坐下來等待,如果他們喜歡。

您可以編寫一些JavaScript來輪詢服務器並動態地將結果加載到頁面中,而不是讓頁面每載入一個x秒。

+0

這可能是一個可行的辦法去...但是腳本看起來在這種情況相當複雜:它可能應該fork一個緩慢的過程,然後安排與檢查重載這個緩慢的過程... – begemotv2718 2014-09-12 14:46:47

+1

在我的情況下,腳本正在調用一個外部程序,該程序生成一個文本文件輸出,然後解析該輸出以創建結果。該腳本被罰下的命令,檢查,看看是否有一個即時響應(例如,如果有東西在用戶輸入這將使它立即失敗 - 在這種情況下,它會加載一個錯誤頁面),然後點「完成」通過顯示查詢正在進行頁面。合格投資項目頁面上的鏈接必須找到與結果的文本文件所需的信息,所以當結果準備好了,他們可以分析和顯示。 – 2014-09-12 14:58:53