AJAX Предотвращение загрузки изображений снова и снова? - PullRequest
0 голосов
/ 19 августа 2011

Итак, у меня есть простой запрос 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 ]

1 голос
/ 19 августа 2011

Интересно, поможет ли включение высоты и ширины изображения в атрибут style тега img, поскольку браузеру требуется несколько секунд, чтобы начать загрузку изображения и получить фактическую высоту и ширину изображения.

1 голос
/ 19 августа 2011

Возможно, вместо того, чтобы тянуть весь тег <img> в ответе ajax, просто получите имя и свойства изображения, чтобы изменить целевые свойства изображения src, height, width и т. Д., Чтобы использовать изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...