문제

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";
}

그러나 새로운 업로드 된 이미지는 이유가 나타나지 않습니다. "? 더미 = 371662"를 시도했지만 작동하지 않았습니다.

나는 또한 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";
    }
}

"더미"값이 매번 동일하기 때문에 캐시를 우회하려는 이전의 시도는 작동하지 않습니다. a를 사용하여 junk() 위와 같이 함수는 매번 다른 임의의 값을 얻으므로 이미지를 캐시 할 수 없도록합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top