2014-02-12 20 views
2

這裏是我的GWT應用程序,我有很多網頁:CustomerPage,OrderPage,...每個頁面都會有有一個登錄面板上在中間的頂部&自己的內容像這樣的標題:刷新整個頁面的好習慣還是在用戶註銷(GWT)時重置變量?

 
1- Customer Page 
____________UserName...... Password....... Login 

Customer Content here..... 

2- Order Page 
____________UserName...... Password....... Login 

Order Content here..... 

這意味着用戶可以在任何頁面登錄,他們並不需要去主頁登錄

當年這裏是我的問題,當用戶在某個頁面(例如:CustomerPage)。&如果他們退出然後:

1-我應該刷新整個頁面還是將用戶重定向到一個註銷頁面,所以如果他們想重新打開CustomerPage,那麼頁面將必須經歷所有的初始化過程(onBind-onReveal-onReset ...)

2-我應該讓用戶留在他們所在的位置,當用戶點擊註銷按鈕時,系統將重置變量。通過這樣做,如果用戶重新登錄,頁面將運行得更快,因爲它不必經歷所有的(onBind-onReveal-onReset ...)。但是,如果我這樣做,那麼我很難重置所有的變量。我必須記住頁面獲取日誌時已經初始化的變量&嘗試將其重置爲null或空字符串。如果我錯過重置一個變量,那麼我會遇到麻煩。

某些大型網站(例如Google或Facebook)正在使用解決方案1,即當用戶註銷後,它將重定向到新頁面或返回主頁。

另外,如果採用解決方案1,那麼我只需要撥打Window.Location.reload(); &它將重置所有內容。即使用戶點擊後退箭頭,他們將無法看到舊數據,因爲一切都已重置。

因此: 重新定向到新頁面還是停留在同一頁面當用戶註銷(GWT)時是好的做法嗎?

回答

4

當用戶點擊註銷按鈕時,他們希望他們可以離開電腦。如果您繼續顯示相同的頁面,則其他人可能會訪問該數據。

當用戶註銷時,普遍接受的方法是隱藏所有數據(即重定向到登錄/主頁或完全關閉應用程序)。這就是用戶期望的,這就是你必須做的。

0

這取決於你已經加載到瀏覽器中。通過頁面刷新進行登錄/註銷會比較慢,並且會滯後於用戶。如果您在註銷之後正確地清理完畢後(刪除服務器端會話,解除綁定演示者,清除緩存),那麼刷新頁面確實是可選的。

的普遍接受的方法是將隱藏所有數據(即重定向 到登錄/主頁或完全關閉該應用程序)當用戶登錄 出來。這就是用戶期望的,這就是你必須做的。

如果您的會話管理服務器端在註銷後阻止任何RPC,並且您不再提供/緩存數據,則這不是絕對必要的。根據您的應用需求,大小,加載時間以及它傳達的數據的敏感度來使用離題。

相關問題