2010-12-02 49 views
2

我在閱讀 this google guide並使用this sample code provided by google,但存在一個小故障:使用前後按鈕會在確認對話框返回之前更改URL。這意味着如果用戶決定不離開,URL不再代表當前的地方。GWT 2.1地點/活動技巧故障:導航確認前的URL更改

任何人都有解決方案或解決方法?理想情況下,只有在給出確認之後,網址纔會更改,但即使只是在拒絕之後將網址切換回來也會更好。

回答

5

沒有解決方法。您的應用程序以某種方式檢測到URL已更改,這會觸發位置更改(因此在導航確認之前)。

而且沒有辦法知道爲什麼的URL改變了;它是一個「回」?一個「第四」?使用歷史記錄菜單「返回」一次回幾步?書籤?手動編輯URL?因此,您無法在所有情況下都使用History.next()來「取消」URL更改(還要注意它會觸發另一個地方更改)。並且嘗試使用除History.back/next/go以外的其他任何內容修改網址會擦除轉發歷史記錄,您可能也不想這麼做。僅供參考,我在兩年前在我自己的「地方經理」中執行了這一行爲,並在RayHay將PlaceHistoryHandler添加到GWT 2.1時與他談過,並且我們同意沒有比讓URL更好的行爲不再與這個地方同步。僅供參考,當我在2年前研究這個事情時,然後在今年早些時候,GMail也有同樣的行爲(創建草稿消息並在草稿未更改時導航)。