2012-09-26 34 views
1

嗨,大家好我已經完成了一個移動應用程序,其中我有一個瀏覽器後退按鈕的問題,實際上我的問題是當用戶嘗試登錄給出的憑據,他將重定向到菜單頁面,當用戶點擊瀏覽器後退按鈕時,用戶會話應該失效,但在登錄頁面顯示的是credentails,並且當我點擊sumbit時它又重定向到主頁面,我在過去的兩天裏,這個問題已經搜索了很多,但我不知道應該怎麼做,你們可以幫我。我試圖保持這個腳本在登錄頁面當用戶點擊瀏覽器後退按鈕時,如何使登錄頁面中的會話失效

這Meta標籤在JSP頁面

,也該在我controller.xml

感謝

魯比娜。

+3

當用戶單擊後退按鈕時,不能使用戶會話無效。點擊後退按鈕不會向您的Web服務器發送任何http請求。它將只顯示瀏覽器本地歷史記錄中以前訪問過的(緩存的)頁面。因爲在你的情況下,最後一次訪問的頁面是登錄屏幕,用戶可以看到他/她先前輸入的憑據是完全正常的。 除非我誤解了某些東西,否則您描述的應用程序的行爲聽起來很正常。你能詳細說明你的問題到底是什麼嗎? –

+0

在我的應用程序中,我有登錄頁面,我給custId和密碼作爲憑據,當我點擊提交它重定向到主菜單頁面時,我點擊其中一個菜單,我將重定向到服務,現在當我點擊瀏覽器後退按鈕2次我將登錄頁面的憑證仍然在登錄頁面,我認爲這是錯誤,不清除憑據。我必須重新定向到新登錄頁面,當用戶點擊返回按鈕時,抱歉,如果我的英語有任何錯誤 – Rubina

+0

別擔心,這不是一個錯誤。這是正常的瀏覽器行爲。瀏覽器從本地瀏覽器歷史記錄向用戶顯示上次訪問的頁面。它不會從Web服務器檢索頁面。這也不是安全問題。 –

回答

0

嗨,大家好我找到了解決我的problem.please保持這個腳本在登錄頁面的頁眉

<script type="text/javascript"> 
     function backButtonOverride() 
{ 

    setTimeout("backButtonOverrideBody()", 1); 

} 

function backButtonOverrideBody() 
{ 

    try { 
    history.forward(); 
    } catch (e) { 

    } 

    setTimeout("backButtonOverrideBody()",50); 
} 
    </script> 

,並在body標籤替換這個

<body onLoad="backButtonOverride()"> 

這個工作正常,我在safari browser.thanks堆棧流團隊

+0

這是測試safari瀏覽器和Firefox的朋友,它適用於我,在我的場景它正在清除登錄頁面中的登錄憑據,當我點擊子菜單它刷新在同一個頁面,如gmail.may將有助於我在這裏發佈的人 – Rubina

0

請參閱此頁,以解決您的問題:http://viralpatel.net/blogs/disable-back-button-browser-javascript/

你可以看到這是如何表現在這裏演示:http://viralpatel.net/blogs/demo/javascript-disable-browser-back-button/

這裏做的事情是,它顯示在瀏覽器歷史的下一個訪問的頁面,每次用戶點擊返回按鈕。它有你正在尋找的效果。我懷疑這也是Gmail所做的。

+0

左撇子我已經看到了這個例子,我試圖在我的應用程序中實現,我保持腳本和身體屬性在我的登錄頁面,但沒有使用它,爲您的信息我我使用safari瀏覽器,我回答了上面的問題,當我運行我的應用程序時,第一次工作正常,當我清除服務器並再次運行它不工作,我完全困惑 – Rubina

+0

我也使用safar和演示頁面正常工作。你一定在做錯事。檢查您的代碼是否有錯字或類似的錯誤。 –

+0

哦,還檢查你沒有禁用javascript! –

相關問題