php
  • javascript
  • jquery
  • image
  • comet
  • 2011-03-01 2 views 2 likes 
    2

    저는 APE라는 Comet, Realtime 엔진을 사용하고 있으며 jQuery를 사용하여 PHP 이미지를 새로 고침하고 있습니다. 처음에 나는이 같은 이미지를로드 :새로 고침 이미지 PHP와 자바 스크립트

    <div id="container"> 
    <img src="image.php" style='background: url(../assets/load.gif) no-repeat center center;margin-left:42px;' alt=' Loading ...' width="500px" height="300px" /> 
    </div> 
    

    와 그때가 이벤트를받을 때 나는이 수행 예를 들어 내가 장치 1을 얻을 수 있도록

    $("#container").empty(); 
    $("#container").html('<img src="image.php?device='+device+'" style="background: url(../assets/load.gif) no-repeat center center;margin-left:42px;" width="500px" height="300px" alt=" Loading ..."/>'); 
    

    장치가 나는 이벤트에서받은 var에입니다 모든 것이 정상적으로 작동합니다 (이미지가 실제로 차트 임). 제목이 "device1"로 바뀌고 마지막 5 분을 그립니다.

    그러나이 문제가 발생하면 매번 이벤트가 발생합니다. 날짜는 같은 5 분 동안 유지됩니다. 내 장치는 매번 동일하지만 내 스크립트에서 5 분 전 현재 시간으로 시간대를 계산하지만이 스크립트는 이미지를 업데이트하지 않는 것 같습니다. 캐시 된 것입니까?

    내가 페이지 상단에이를 사용하여 시도했다 : 나는 약 10 분 정도 기다립니다 이벤트를 보낼 수 있습니다

    <?php 
    header("Cache-Control: no-cache, must-revalidate"); 
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    ?> 
    

    하지만 시간이 초기로드에서 여전히, 그 생각 " empty() "는 컨테이너를 지우고 이미지를 다시로드하므로 스크립트를 다시 실행합니다. 어떤 조언이 도움이 될 것입니다!

    감사

    일반적인 접근 방식은 유닉스 타임 스탬프를 보유하고 쿼리 문자열에 사소한 VAR을 추가하는 것입니다

    답변

    7

    ; 브라우저는 각 호출을 고유 한 이미지 호출로 간주합니다. 예 :

    캐시 된 이미지가 없다고 생각하면됩니다. (비록 캐시 정책이이 문제로 이어지더라도 계속 진행할 것입니다.)

    +0

    감사합니다. 나는 이것이 아마도 가장 의미가 있다고 생각한다. –

    +0

    호프가 당신의 문제를 해결하길 희망한다.) – Shad

    +0

    이 방법은 캐싱을 방지하지 않지만 반대의 경우 그는 페이지를 다시로드 할 때 클라이언트 캐시를 많은 버전으로 채 웁니다. 괜찮을지도 모르지만 그 사실을 다시 상기시키는 것이 중요합니다 .-) – Capsule

    2

    추가 무작위 변수를 이미지 경로에 추가하십시오.

    $("#container").html('<img src="image.php?device='+device+'&rand='+(math.random * 1000000)+'" style="background: url(../assets/load.gif) no-repeat center center;margin-left:42px;" width="500px" height="300px" alt=" Loading ..."/>'); 
    

    그러면 다른 URL처럼 보이게되어 브라우저가 캐시되지 않게됩니다. 이것은 YUI에서 사용하는 것과 동일한 방법입니다.

    +0

    우수 감사합니다! –

    관련 문제