質問

私は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()関数を使用すると、毎回異なる乱数値を取得し、画像をキャッシュできないようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top