2012-07-10 39 views
0

如果用戶在登錄後按下F5或 刷新按鈕,他應該保持在同一頁面上。現在他是 重定向到登錄頁面。如何在gwt中避免addWindowClosingHandler/ClosingEvent不需要的重新加載請求

我已經使用下面的代碼留在同一頁面上。

但我不想通過在onWindowClosing()方法中寫入 event.setMessage()來警告用戶這種情況。我只是想讓 功能,如果他錯誤地做了瀏覽器刷新,將感覺用戶什麼也沒有發生,甚至 。

我正在尋找避免由[給出的不需要的彈出窗口或如何處理創建彈出窗口的手動操作,因此無法重新生成com.google.gwt.user.client.Window.confirm(「你真的要退出嗎?「)]

Window.addWindowClosingHandler(new Window.ClosingHandler() { 
    @Override 
    public void onWindowClosing(ClosingEvent event) { 
    //how to prevent sending reload request OR [on cancel button MANUALLY] 
    }}); 
+0

大家好,我已經在互聯網上嘗試過,但有助於除gwt之外,這些代碼已經實現,但沒有像reload()那樣得到效果。在此先感謝 – 2012-07-10 11:53:40

+0

您的問題不清楚。你意味着什麼樣的彈出窗口? – 2012-07-10 12:41:19

+0

是的,顯示彈出消息「此頁面要求您確認您要離開 - 您輸入的數據可能未保存。」 – 2012-07-10 13:42:42

回答

0

在上面活動和地點的一些意見被提及爲您問題的解決方案。當然這是一個很好的和現代的。你會在GWT的文檔中找到更多的細節。

但是,如果你不想走這條路,另一個解決方案是使用由GWT提供的歷史機制。你申請的每個「頁面」(而不是部分)都應該有一個特定的標記。您只需創建一個History更改處理程序,並根據用戶重新加載操作傳遞的令牌來呈現適當的對象。如果你想在用戶註銷(但不是瀏覽器重啓)之間有一些「內存」,你可以將這個令牌保存在本地存儲中,並在用戶登錄後使用它來指引她到達最後一頁。

+0

謝謝..最後,我已經與GWTP的地方經理解決方案 – 2012-07-11 12:13:34

+0

謝謝..最後我來了與GWTP的地方經理解決方案。但這裏有一件事是如何控制關閉事件。我已經嘗試過使用我們的彈出窗口時沒有被控制的手動操作,即使在取消按鈕點擊[我有編寫代碼來控制事件在註釋下面的問題]時不指定null [event = null]。 – 2012-07-11 12:20:43