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