javascript代码在jsp中没有按预期工作

时间:2013-08-14 16:05:35

标签: javascript jquery jsp

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

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

 response.sendRedirect("somepage.jsp");

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