في IE7 ، الإجراء "JavaScript: History.back ()"
-
27-09-2019 - |
سؤال
فيما يلي قطع الرمز في صفحة 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 لتذكر جميع الأخطاء قبل اتخاذ الإجراء الإضافي للعودة إلى صفحة بدون رسائل خطأ. نعم ، هذه تجربة مستخدم سيئة.