Я вижу странную проблему с моим кодом ниже. Содержимое, полученное через xmlHttpRequest, не отображается в IE8 после нажатия ссылки. Он отображается только после перемещения мыши/курсора после нажатия ссылки.Ответ AJAX не отображается сразу в IE8
<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 содержимое не отображается (хотя оно загружается во внутреннийHTML элемента div id = "), если нет движения курсора, после нажатия ссылки.
Я попытался поставить предупреждения и отладки через отладчик сценариев IE8 (в Tools-> DeveloperTools), но не смог найти причину проблемы.
Может ли кто-нибудь помочь мне в этом, пожалуйста?
Большое спасибо, sgullap