编程语言
首页 > 编程语言> > javascript-如何使用Java脚本(ruby on rails)禁用浏览器后退按钮

javascript-如何使用Java脚本(ruby on rails)禁用浏览器后退按钮

作者:互联网

在我们的应用程序中导航时如何禁用浏览器后退按钮.我已经尝试使用以下代码来防止仅返回选项,而不能隐藏或禁用返回导航图标.

<script type = "text/javascript" >
      history.pushState(null,null);
      window.addEventListener('popstate', function() {
          history.pushState(null,null); });
</script>

<script type="text/javascript">

  window.history.forward();

</script>

我想知道至少能够屏蔽该浏览器的后退导航图标/按钮(就像在浏览器中打开新的水龙头,导航按钮显示为屏蔽模式).

解决方法:

你不能或更好:你不应该.

而且,如果可以的话,这是一个不安全且不可靠的浏览器.

最佳做法是不要乱用后退按钮,否则用户体验会受到影响.

编辑:

您可以尝试通过在服务器端处理会话变量来向用户发送消息.在会话中保留一个类似于page_number的变量,然后在第一页上将其设置为0.

在所有后续页面上,检查page_number,如果页面号错误,则强制服务器端redirect.

例如,在第4页上,您可以这样做:

if (session.page_number === 3)
{
    // ok, user comes from previous page
    session.page_number = 4;
} else {
    // server-side redirect back to proper page
    // which happens to be "session.page_number"
}

您将该代码放在每个页面上(设置较高/较低的页面编号),然后单击后退按钮将导致重定向到之前的相同页面.

显然,这是非常糟糕的做法.渠道仅应在非常有限的情况下使用,例如用于购物车和信用卡业务.渠道使网页的行为更像是ATM.航空公司和亚马逊使用渠道.

您可以找到有关Internet上Rails上的ruby的服务器端重定向的确切详细信息.

标签:extjs4-2,extjs4,ruby-on-rails-3,javascript,ruby-on-rails
来源: https://codeday.me/bug/20191028/1952324.html