2010-09-22 64 views

回答

2

如果您希望瀏覽器自動刷新每隔30秒,你可以完成與:

new Timer() { 
    @Override 
    public void run() { 
    Window.Location.refresh(); 
    } 
}.schedule(30000); // milliseconds 

這是使用的schedule()代替scheduleRepeating(),因爲重新加載頁面這樣會導致你的GWT代碼從一開始就停止並重新啓動。你可能想避免這種情況。

我會說實話,這種做法「聞起來」對我來說很糟糕。如果你提供一些關於你爲什麼要每30秒刷新一次頁面的信息(因此需要重新加載你的GWT代碼),我可以給你提供關於如何更好地做你想做的事情的建議。

+0

同意,這不是很好的做法。你應該使用Timer來安排一個服務調用,而不是一個頁面刷新,它只下載最近30秒內可能發生變化的數據。然後以編程方式刷新頁面上需要它的部分。這將爲您提供更好的用戶體驗,並且可以減少多餘的靜態內容下載。 – dslh 2010-09-22 23:34:24

+0

@ hambend在屏幕上,我只有一張沒有分頁的醜陋大桌子。而且我只是裝載了桌子蓬勃發展的特定面板。 – frappuccino 2010-09-24 19:28:13

+0

我正在使用計時器。有一個奇怪的要求,用戶想坐下來凝視屏幕,而頁面加載應該刷新以發佈最新狀態。 (它通過後臺進程得到更新) – frappuccino 2010-09-24 19:32:08