0

我正在尝试使用 javascript 阻止浏览器后退按钮。它适用于示例应用程序,但是当我将代码放入我的 jsp 文件时,它没有给出预期的行为并允许导航到后页。

这是javascript代码:

window.history.forward();

function noBack(){

      alert("back space code executed...");
      window.history.forward();
}

我在onLoad事件的标记内的 JSP 中调用上面的代码:

<body class="jspcheck" onload="noBack()">

有趣的是,每当页面打开时,警报就会出现,但后退按钮尚未禁用。

我也尝试使用 jquery 调用此函数,但没有得到预期的行为:

$(document).ready(function() {
     noBack();
});

对此的任何帮助/指针将不胜感激。

谢谢, Himanshu

4

1 回答 1

1

您不能阻止 web 应用程序中的后退按钮,句号。但我想你正在尝试这样做以防止某些 sql update 语句在有人点击返回时再次运行。防止这种情况的正确方法是在使用服务器端语言更新数据库后始终重定向到另一个页面。然后,当用户单击返回时,重定向总是会阻止他们返回进行更新的页面。

 response.sendRedirect("somepage.jsp");

此外,由于您的服务器端代码无论如何都会在任何 javascript 之前执行,因此如果您需要防止这种事情发生,javascript 就不好了。

于 2013-08-14T19:25:15.223 回答