可能重复:
How do I stop the Back and Refresh buttons from resubmitting my form?
Disable browser’s back button如何禁用后退按钮导航在某些页面
ENV:jQuery的,RichFaces的
如何禁用后退按钮导航(以菜单栏)在用户界面的某些页面上。
可能重复:
How do I stop the Back and Refresh buttons from resubmitting my form?
Disable browser’s back button如何禁用后退按钮导航在某些页面
ENV:jQuery的,RichFaces的
如何禁用后退按钮导航(以菜单栏)在用户界面的某些页面上。
您无法禁用用户浏览器上的后退按钮。这是浏览器的基本功能,不能被覆盖。
您可以使得您的应用程序中断(显示错误消息,要求用户重新开始)如果用户返回。这样做是一个坏主意,因为它确实承认在设计应用程序时没有考虑后退按钮。每个应用程序,甚至订单,购物车,网上银行等,如果设计正确应该可以使用后退按钮。如果他们不能,那么应用程序开发人员就会失败。我已经看到了故意破坏后退按钮使用
一种方法是通过在应用程序中的每个URL令牌,每个表单中。每个页面都会重新生成令牌,一旦用户加载新页面,前一页中的任何令牌都将失效。当用户加载一个页面时,该页面只会显示正确的标记(已被赋予前一页上的所有链接/表单)传递给它。
我的银行提供的网上银行申请就是这样。如果您完全使用后退按钮,则不会再有链接工作,也无法再进行页面重新加载 - 相反,您会看到一条通知,告诉您无法返回,并且必须重新开始。
现在,我认为这是一种处理问题的懒惰方式。这样做的网上银行应用程序会这样做,因为如果他们严格限制某人可能到达给定页面的情况的数量,理论上更容易保护应用程序。这无疑是一条捷径相比,使应用程序工作正常在的用户应该期待的方式,但那些谁设计的网上银行应用较少关注可用性和更侧重于减少潜在的攻击媒介。他们也可能因为不得不处理真正古老的计算机系统和界面而受到压力。
你不准modify
的window.history
entrys。如果您尝试设置window.history.length
,大多数浏览器都会抛出异常。
但是,当用户改掉离开当前页面,您可以做一个更顺畅的事情与onbeforeunload
像
window.onbeforeunload = function(){
return "are you sure?";
};
,将触发一个确认框(包括历史前进/后退)。
这样做被认为是不好的做法,主题是一个骗局! – markus 2010-07-29 06:29:57