Изображение src не меняется после загрузки - PullRequest
1 голос
/ 26 октября 2009

Я делаю загрузку с плагином Ajaxupload и использую эту функцию в событии OnComplete ajaxupload;

function degis(){
var a = "<?php echo $id; ?>";
document.getElementById("imga").src = "../artwork/"+a+"/logo.jpg?dummy=371662";
document.getElementById("imga").style.width = "500px";
document.getElementById("imga").style.height = "175px";
}

но новое загруженное изображение не появляется по причине. я пробовал это "? dummy = 371662", но не сработало.

Я также использую это для события Onsubmit ajaxupload

function updeg(){
var a = "uploading.gif";
document.getElementById("imga").style.width = "50px";
document.getElementById("imga").style.height = "50px";
document.getElementById("imga").src = a;

}
</script>

это HTML-код этого элемента

 <img id="imga" alt="" height="175px" src="../artwork/<?php echo $id; ?>/logo.jpg?dummy=371662" width="500px">

Есть предложения по этому поводу?

1 Ответ

1 голос
/ 26 октября 2009

На основании ваших правок и комментариев выше, я думаю, вам нужно что-то вроде этого:

function junk() {
    return (new Date()).getTime() + Math.round(Math.random());
}

function degis() {
    var img = document.getElementById("imga");
    if (img) {
        img.src = "../artwork/<?php echo $id; ?>/logo.jpg?nocache=" + junk();
        img.style.width = "500px";
        img.style.height = "175px";
    }
}

Ваша предыдущая попытка обойти кеш не работает, потому что ваше «фиктивное» значение всегда одинаково. Используя функцию junk(), как описано выше, вы каждый раз получаете разные случайные значения, гарантируя, что изображение не может быть кэшировано.

...