Javascript 阻止用户使用";“后退”;及;“前进”;浏览器的按钮

Javascript 阻止用户使用";“后退”;及;“前进”;浏览器的按钮,javascript,jquery,jsf-2,Javascript,Jquery,Jsf 2,我正在使用JSF2.0开发一个Web应用程序,并且我已经开发了一个导航面板,用户必须使用它来浏览页面。面板工作得很好。 但同时我不希望用户使用浏览器的“后退”、“前进”进行导航。 我的想法是,如果用户点击任何一个按钮,我将使会话无效,并向他显示一个信息页面。 不确定如何在JSF2.0中实现这一点,JavaScript是一个选项,但我想知道JSF是否对此有任何API支持???不要禁止用户使用他们熟悉的控件。首先,它提出了许多技术挑战,但更重要的是,它偏离了用户期望的非常非常常见的范例 在某些情况下

我正在使用JSF2.0开发一个Web应用程序,并且我已经开发了一个导航面板,用户必须使用它来浏览页面。面板工作得很好。 但同时我不希望用户使用浏览器的“后退”、“前进”进行导航。 我的想法是,如果用户点击任何一个按钮,我将使会话无效,并向他显示一个信息页面。
不确定如何在JSF2.0中实现这一点,JavaScript是一个选项,但我想知道JSF是否对此有任何API支持???

不要禁止用户使用他们熟悉的控件。首先,它提出了许多技术挑战,但更重要的是,它偏离了用户期望的非常非常常见的范例

在某些情况下,这是可以接受的,在某些特定情况下,在离开屏幕之前提示用户是可以接受的(例如,在用户导航时可能会丢失工作的业务应用程序)

如果用户有丢失重要工作的风险,在离开页面之前使用JavaScript进行检查可能是合适的。然后,您可以提示用户,如果他们选择导航,您的服务器代码可以检查引用的URL,并通过参数确定用户采用了什么流

关于具体技术;使用几乎任何服务器技术检查查询字符串变量都很容易(使用或不使用jQuery的JavaScript将适用于任何客户端逻辑)

再次强调,除非没有其他选择,否则不要这样做


包含有关禁用“后退”按钮的信息(为什么这不是一个好主意,以及可能的备选方案和选项)。

在新窗口中打开它。否则,您将严重激怒用户。您完全走错了解决问题的道路。另请参见,但当用户使用导航面板中的导航按钮时,会执行一些逻辑。在这种情况下将不会执行这些操作,这可能会影响某些UI逻辑。