画像srcはアップロード後に変更されません
-
06-07-2019 - |
質問
私はAjaxuploadプラグインでアップロードを行っており、ajaxuploadのOnCompleteイベントでこの関数を使用しています。
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";
}
しかし、アップロードされた新しい画像は理由により表示されません。私はそれを試してみました&quot;?dummy = 371662&quot;動作しませんでした。
私はajaxuploadのOnsubmitイベントにもこれを使用しています
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">
これに関する提案?
解決
上記の編集とコメントに基づいて、次のようなものが必要だと思います:
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()
関数を使用すると、毎回異なる乱数値を取得し、画像をキャッシュできないようにします。
所属していません StackOverflow