سؤال

فيما يلي قطع الرمز في صفحة 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>
هل كانت مفيدة؟

المحلول

أفضل استخدام

history.go(-1);

بدلاً من

history.back();

نصائح أخرى

أراهن أنك تستخدم تطبيق Ajax. المشكلة هي أن IE7 لا تحديث مكدس التاريخ على تغييرات التجزئة أو أي إجراء AJAX لهذه المسألة. هناك طرق من حولها ، أوصي شخصيًا http://www.mikage.to/jquery/jquery_history.html

لا تستخدم JavaScript لهذا. فقط دع JSP/Servlet يتذكر الصفحة السابقة ووضع عنوان URL الخاص به في <form action> في حين أن. يمكنك الحصول على عنوان URL للطلب بواسطة HttpServletRequest#getRequestURL().

أو، أفضل, ، عرض الأخطاء في نفس صفحة كشكل أصلي. وبهذه الطريقة ، لا تحتاج إلى إزعاج enduser لتذكر جميع الأخطاء قبل اتخاذ الإجراء الإضافي للعودة إلى صفحة بدون رسائل خطأ. نعم ، هذه تجربة مستخدم سيئة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top