2011-01-12 8 views
0
function updateimage(){ 
    $("#fileimg").attr("src","path/to/image.jpg"); 
    $('#fileimg').fadeIn('slow'); 
    setTimeout(updateimage, 5000); 
} 

이봐,새로 고침 이미지 나 이미지를 5 초마다 다시로드 할

새로 고침하지 않습니다하지만 작동하지 않습니다, 그것은 동일하게 유지되지만 페이지를 F5 때 새로 고침을한다. 이미지 업데이트도 5 초마다 새로 고칠 수 있습니까?

답변

6

캐시되었으므로 다시로드 할 필요가 없습니다. 새로운로드를 강제 실행하려면 브라우저에서 다른 파일이라고 생각해야합니다.

function updateimage(){ 
    $("#fileimg").attr("src","path/to/image.jpg?" + new Date()); 
    $('#fileimg').fadeIn('slow'); 
    setTimeout(updateimage, 5000); 
} 
+0

+1, spot on. 하지만 더 쉽게 읽을 수 있도록 코드를 줄 바꿈해야합니다. –

1

http 캐싱을 고려한 솔루션이 있습니까? 이미지가 가끔 변경되는 경우 모든 클라이언트가 완전히 다시로드하도록 강요하지 않는 것이 좋습니다.

예. 5 초마다 업데이트되는 웹캠 사진이 있습니다. 각 클라이언트가? dateMillis를 5 초마다 다시로드하더라도 중간 캐시는 여전히 클라이언트간에 데이터를 올바르게 다시 사용하지 않습니다. 표준 캐시 타임 아웃 (또는 심지어 etag 체크)을 허용하면 많은 자원을 절약 할 수 있습니다.

관련 문제