如何防止用户右键单击返回按钮返回

How to prevent user to go back with right click on back button?

本文关键字:返回 按钮 单击 右键 何防止 用户      更新时间:2023-09-26

当我按住浏览器后退按钮或右键单击后退按钮时,我可以返回页面。但我需要禁用它。有什么方法可以用javascript或jsp 来做到这一点吗?

打开不带后退按钮的新窗口

浏览器返回按钮viralpatel这是一种非常粗糙的技术。但在某些情况下,它就像魅力一样发挥作用。你所要做的就是在一个新窗口中打开网页。这个窗口根本没有后退按钮,因为我们已经隐藏了工具栏。这种技术在某些情况下确实有效,但用户仍然有一个导航到上一页的变通方法。大多数浏览器都有关联菜单中的"返回"选项。因此,用户仍然可以右键单击页面,然后单击"上一步"返回上一页。我们很快就会看到这个问题的解决方法。

以下是在没有工具栏的新窗口中打开网页的代码(上一步/下一步按钮)。

window.open ("http://viralpatel.net/blogs/",
"mywindow","status=1,toolbar=0");

此外,还可以使用Javascript禁用在任何网页上的右键单击。在网页中添加以下代码。

<body oncontextmenu="return false;"> 

使用历史禁用后退功能。前进

这是另一种在任何网页中禁用后台功能的技术。我们可以通过在网页中添加以下代码来禁用反向导航。现在这里的问题是,您必须在所有页面中添加此代码,以避免用户从上一页返回。例如,用户跟随导航页面1->页面2。并且您想阻止用户从第2页返回到第1页。在这种情况下,第1页中的所有以下代码。

<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
    onpageshow="if (event.persisted) noBack();" onunload="">

以上代码将触发第1页的history.forward事件。因此,如果用户按下第2页上的后退按钮,他将被发送到第1页。但是第1页上的history.forward代码将用户推回到第2页。因此,用户将无法从第1页返回。

如果按下Back(返回),则警告用户

如果按下"后退"按钮,您可能需要警告用户。这在大多数情况下都有效。如果您有一些未保存的表单数据,您可能希望在按下"上一步"按钮时向用户触发警告消息。

以下Javascript片段将添加一条警告消息,以防按下"后退"按钮:

window.onbeforeunload = function() { return "You work will be lost."; 

参考

只需使用

window.onbeforeunload = function() { window.history.forward(1); };

或者如果你想警告用户

window.onbeforeunload = function() { return "Back button is not available!"; window.history.forward(1); };