image src non cambia dopo il caricamento
-
06-07-2019 - |
Domanda
Sto effettuando un caricamento con il plugin Ajaxupload e sto usando questa funzione nell'evento OnComplete di 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";
}
ma la nuova immagine caricata non viene visualizzata per un motivo. ho provato che "fittizio = 371662" ma non ha funzionato.
Lo sto usando anche per l'evento Onsubmit di 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>
questo è il codice HTML di questo elemento
<img id="imga" alt="" height="175px" src="../artwork/<?php echo $id; ?>/logo.jpg?dummy=371662" width="500px">
Qualche suggerimento al riguardo?
Soluzione
Sulla base delle tue modifiche e dei commenti sopra, penso che tu abbia bisogno di qualcosa del genere:
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";
}
}
Il tuo precedente tentativo di bypassare la cache non funziona perché il tuo " fittizio " il valore è lo stesso ogni volta. Usando una funzione junk ()
, come sopra, ottieni ogni volta un valore casuale diverso, assicurando che l'immagine non possa essere memorizzata nella cache.