私のコードで奇妙な問題が発生しました。 xmlHttpRequestを介して受信したコンテンツは、リンクをクリックした後、IE8に表示されません。リンクをクリックすると、マウス/カーソルを移動した後にのみ表示されます。すぐにIE8にAJAXレスポンスが表示されない
<html>
<head>
<script language="javascript">
var xmlHttpfunction;
function ShowHint(str,id,currentid,count)
{
for(i = 0; i < count; i++)
{
if (i == currentid)
{
cellImg(i,'images/head_on.jpg');
}
else
{
cellImg(i,'images/btn_img.jpg');
}
}
xmlHttp = GetXmlHttpObject();
if (xmlHttp == null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url = "myurl.php";
url = url+"?id="+id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function cellImg(idCell, imgName)
{
document.getElementById(idCell).style.background = "url(" + imgName + ")";
}
function stateChanged()
{
if (xmlHttp.readyState === 1)
{
document.getElementById("element").innerHTML = "<p align='center'><img src='images/wait.gif'></p>";
}
else if (xmlHttp.readyState === 4)
{
document.getElementById("element").style.display = "block";
document.getElementById("element").innerHTML = xmlHttp.responseText;
}
}
</script>
</head>
<body>
<div id="navigation">
<ul >
<li id=1 >
<a href="#" onclick="ShowHint('menu',42,1,18);return false;">
Item 1
</a>
</li>
<li id=2 >
<a href="#" onclick="ShowHint('menu',11,2,18);return false;">
Item 2
</a>
</li>
<li id=3 >
<a href="#" onclick="ShowHint('menu',12,3,18);return false;">
Item 3
</a>
</li>
</ul>
</div>
<div class="element" id="element">
</div>
</body>
</html>
上記はFirefox、Safari、Chrome、Operaで動作します。しかしIE8では、リンクをクリックした後にカーソル移動がなければ、コンテンツは表示されません(div id = "element"のinnerHTMLにロードされます)。
IE8のスクリプトデバッガ(ツール - > DeveloperTools)で警告を出してみましたが、問題の原因を見つけることができませんでした。
誰でも私にこれを助けてくれますか?
多くのおかげで、おそらくAJAX呼び出しからresponseTextは、キャリッジリターンで起動しているかどうかを確認するために sgullap