JSP ページにアクセスしています。この JSP ページには、Jquery + Scriplets + いくつかの JSP タグ (div、input、form など) + Java Script があります。
この JSP ページは、ユーザーからの入力としてユーザー名を受け取ります。ユーザーがユーザー名を入力せずに単に送信ボタンを押すと、ページが更新されてエラー メッセージがスローされます。ページが更新され、同じ URL にヒットします (エラー メッセージは新しいページに表示されません)。
ユーザーが [送信] ボタンを押してエラー メッセージがスローされる過程で、Chrome ブラウザーは JSP ページ内の他の DIV 要素も一瞬レンダリングし、目的のエラー メッセージをユーザーにスローします。
同じページにアクセスしたときに Chrome ブラウザが JSP の他の要素 (div、input など) をレンダリングすると、他の要素の画像がユーザーに表示されます。これは IE と FF では発生しません。
Chromeでこれを回避するにはどうすればよいですか?
@Alfasin: 以下の JSP コードを添付しました。他に詳細が必要な場合はお知らせください。
<html>
<head>
<script type="text/javascript" src="/static-files/scripts/jquery-1.6.2.js"></script>
<script type="text/javascript" src="/static-files/scripts/tooltip.js"></script>
<script type="text/javascript" src="/static-files/scripts/jquery-ui.min.js"></script>
<link href="/static-files/css/jquery-ui-rev.css" type="text/css" rel="stylesheet"/>
<%@page import="javax.servlet.http.Cookie"%>
<%
String visitingCookie = "AUTHCookie";
String urlCookie = "URLCookie";
String movieCookieName="movieCookie";
String displayOnlyPwd = "false";
Cookie[] cookielist = request.getCookies();
if(cookielist != null)
{
for(int i = 0; i<cookielist.length; i++)
{
Cookie cookie = cookielist[i];
if(cookie.getName().contains(visitingCookie) &&
!cookie.getValue().equals(""))
{
displayOnlyPwd = "true";
request.setAttribute("AUTHCookie",cookie.getValue());
request.setAttribute("displayOnlyPwd",displayOnlyPwd);
break;
}
}
if(displayOnlyPwd.contains("false"))
{
request.setAttribute("displayOnlyPwd",displayOnlyPwd);
}
}
else{
displayOnlyPwd = "false";
request.setAttribute("displayOnlyPwd",displayOnlyPwd);
}
%>
<script type="text/javascript">
$(function() {
$("#toopt a").tooltip({
bodyHandler: function() {
return $($(this).attr("href")).html();
},
});
});
function delete_cookie ( cookie_name )
{
var cookie_date = new Date ( );
cookie_date.setTime ( cookie_date.getTime() - 1 );
document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
function checkpassword()
{
var checkPassword=document.getElementById("password").value;
var counter=0;
var errMsg=" ";
var errMsg1=" ";
if(checkPassword.length==0)
{
errMsg+="Please enter a valid Password.";
document.writeln("<form name=\"errForm\" method=\"POST\" action=\"http://myDomain/web/portal/home/-/portal/login?_58_redirect=%2Fweb%2Fportal%2Flogout\">");
document.writeln("<input type=\"hidden\" name=\"errMsg\" value=\"" + errMsg + "\">");
document.writeln("</form>");
document.errForm.submit();
return false;
}
}
function enableDisableForm(myVar)
{
if(myVar == "true")
{
$(document).ready(function()
{
$("#disableDivForm").dialog({
autoOpen:true,
position:'center',
height:167,
width: 472,
modal: true
});
});
var div1 = document.getElementById("enableDivForm");
div1.style.display = "none";
}
else
{
var div2 = document.getElementById("disableDivForm");
div2.style.display = "none";
}
}
</script>
</head>
ここにコードの 50% を貼り付けました。あと 50% です。完全なコードを貼り付ける必要がありますか?
よろしく、