1

下面是一个jsp页面的代码片段,功能是跳回上一页,Firefox 3.5可以,IE7不行,IE7会跳回主索引页。如何增强它以同时支持 IE7/Firefox?

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
<link rel='stylesheet' href="/css/main.css">
</head>
<body>

<div id="id1">

    <h2 class="centered">title</h2>

    <html:errors/>

    <p class="centered">
        <form action="javascript:history.back()">
            <input type="submit" value='back'>
        </form>
    </p>
</div>

</body>
</html>
4

3 回答 3

2

我更喜欢使用

history.go(-1);

代替

history.back();
于 2010-08-11T06:15:49.293 回答
1

我打赌你正在使用 AJAX 应用程序。问题是 IE7 不会更新哈希更改或任何 AJAX 操作的历史堆栈。不过有很多方法,我个人推荐http://www.mikage.to/jquery/jquery_history.html

于 2010-08-11T06:15:06.107 回答
1

不要为此使用 JavaScript。只需让 JSP/Servlet 记住前一页并将其 URL 放入<form action>即可。您可以通过 获取请求 URL HttpServletRequest#getRequestURL()

或者,更好的是,将错误显示在与原始表单相同的页面中。这样,在采取额外操作返回到没有错误消息的页面之前,您无需打扰最终用户记住所有错误。是的,这是糟糕的用户体验。

于 2010-08-11T11:38:40.907 回答