【问题标题】:Stopping the user from using "Back" and "Forward" button of the browser阻止用户使用浏览器的“后退”和“前进”按钮
【发布时间】:2012-03-16 06:05:44
【问题描述】:

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

【问题讨论】:

标签: javascript jquery jsf-2


【解决方案1】:

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

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

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

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

同样,除非没有其他选择,否则请避免这样做。

This discussion 提供有关禁用后退按钮的信息(为什么这不是一个好主意,以及可能的替代方案和选项)。

【讨论】:

  • 但是当用户使用导航面板中的导航按钮时,会执行一些逻辑。在这种情况下,这些将不会执行,并且可能会损害某些 UI 逻辑。
猜你喜欢
  • 2015-08-07
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 2014-05-10
  • 2018-08-19
  • 1970-01-01
相关资源
最近更新 更多