AJAX防止图像被反复加载?

时间:2011-08-19 01:50:04

标签: php html css ajax image

所以我有一个简单的AJAX请求(不是JQuery):

function ajaxfunction(){
var ajaxRequest;
try{
    ajaxRequest = new XMLHttpRequest();
        } catch (e){
    try{
        ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try{
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e){
            alert("Your browser sucks"); //error
            return false;
        }
    }
}

ajaxRequest.open("GET", 'pull.php?ms='+new Date().getTime(), true);
ajaxRequest.send(null);  
ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
    var ajaxDisplay = document.getElementById('ajaxDiv');
        ajaxDisplay.innerHTML = ajaxRequest.responseText;
    }
}

}

我希望请求也能拉图片。由于请求是动态的(显示的图像会发生变化),我会一遍又一遍地执行请求。然而,这使图像闪烁。我试过<img src="foobar.jpg" style="visibility:none;" onLoad="this.style.visibility='visible';" />,但这并没有真正帮助。如果有人知道任何修复,请提前感谢您。 :d

2 个答案:

答案 0 :(得分:1)

也许不是拉动ajax响应中的整个<img>标记,只需获取图片名称和属性即可更改目标图片srcheightwidth等...使用新图像的属性。

答案 1 :(得分:1)

我想知道在img标签的style属性中包含图像高度和宽度是否会有所帮助,因为浏览器需要一秒钟才能开始下载图像并获得实际的图像高度和宽度。