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

时间:2015-10-29 11:20:17

标签: javascript jquery jsp

当我按住浏览器后退按钮或右键单击后退按钮时,我可以返回页面。但我需要禁用它。有没有办法用javascript或jsp

做到这一点

2 个答案:

答案 0 :(得分:1)

打开没有后退按钮的新窗口

browser-back-button-viralpatel这是一个非常粗糙的技术。但在某些情况下,它就像魅力一样。您所要做的就是在新窗口中打开网页。此窗口根本没有后退按钮,因为我们隐藏了工具栏。 这种技术在某些情况下确实有效,但用户仍然可以使用解决方法导航到上一页。大多数浏览器都有Back in context菜单选项。因此,用户仍然可以右键单击该页面,然后单击“上一步”转到上一页。我们很快就会看到此问题的解决方法。

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

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

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

<body oncontextmenu="return false;"> 

使用history.forward

禁用后退功能

这是在任何网页中禁用后退功能的另一种技术。我们可以通过在网页中添加以下代码来禁用后退导航。现在要注意的是,您必须在要避免用户从上一页返回的所有页面中添加此代码。例如,用户跟随导航页面1 - &gt;第2页。并且您希望阻止用户从page2返回到page1。在这种情况下,第1页中的所有后续代码。

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

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

按下后退警告

如果按下“返回”按钮,您可能需要警告用户。这适用于大多数情况。如果您有一些未保存的表单数据,则可能需要在按下“返回”按钮时向用户触发警告消息。

如果按下“返回”按钮,则以下Javascript代码段将添加警告消息:

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

Reference

答案 1 :(得分:0)

只需使用

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

或者如果你想警告用户

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