2012-09-26 37 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! –

相关问题