브라우저가 이미지 서버 또는 브라우저 캐시로 이동하는지 여부를 자바 스크립트로 제어 할 수 있습니까? 그렇지 않으면 캐시 된 이미지를 사용할 때 브라우저에서 서버 호출을하도록 강제 할 수 있습니까? 내 이미지 URL에 단순히 쿼리 문자열을 추가 할 수는 있지만 브라우저가 새로운 이미지로 인식하기 때문에 제대로 이해하면 작동합니다. 이전 이미지를 캐시에서 바꾸기를 원합니다.이미지가 캐시되지 않도록 클라이언트 쪽에서 사용할 수 있습니까?
4
A
답변
0
표준 img
태그로 이와 같은 작업을 수행 할 수 없습니다. 이미지에 대한 XMLHttpRequest를 만들고 if-modified-since
헤더를 설정할 수 있습니다. 이 캐시에 이전 이미지를 교체해야합니다 : 당신은 너무 좋아 "노 캐시"로 설정하지 캐시 제어를위한 페이지에 메타 태그를 사용할 수 있습니다
var url = "http://www.mysite.com/images/myimage.png";
var xhr = new XMLHttpRequest(); // or x-browser compat function
xhr.open("GET", url, true);
xhr.setRequestHeader("If-modified-since", "Thu Jan 1 00:00:00 UTC 1970");
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4 && xhr.status == 200)
document.getElementById("myImg").src = url;
}
xhr.send();
1
:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
및
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
또한 이론적으로 최신 버전을 확인하기 위해 브라우저의 원인이됩니다 과거의 시점에서 "만료"로 페이지를 설정할 수 있습니다
:
을<META HTTP-EQUIV="EXPIRES" value="some date in the past" />
"과거의 일부 날짜"는 GMT가 RFC 1123 format이어야합니다. 이 도움이 See Here
희망 :
주, 당신은 단지 HTTP 헤더 자체에이를 보낼 수 있습니다.
+0
또한, 나는 CACHE라고 부르는 프로그래밍 테마의 스카 - 코어 밴드를 시작할 것입니다 ... – MisterMister
관련 문제
- 1. 특정 이미지가 브라우저에서 NGINX로 캐시되지 않도록 방지하는 방법
- 2. 클라이언트 쪽에서 캐싱에 문제가 있습니까?
- 3. $ _SESSION 변수를 클라이언트 쪽에서 변경할 수 있습니까?
- 4. 클라이언트 쪽에서 ASP.NET 텍스트 필드를 암호화하고 서버 쪽에서 암호 해독
- 5. 클라이언트 쪽에서 AspxGridView 사용 안 함
- 6. PHP 파일이 클라이언트 쪽에서 js에서만 호출되었는지 어떻게 알 수 있습니까?
- 7. 클라이언트 쪽에서 dataReceived가 작동하지 않습니까?
- 8. 이미지가 캐시되지 않도록하려면 어떻게합니까? - 또는 - 서버에 파일이 있는지 확인하려면 어떻게합니까?
- 9. jQuery.data를 사용할 위치와 서버 쪽에서 데이터를 볼 수 있습니까?
- 10. 클라이언트 쪽에서 SQL 서버 데이터베이스에 저장
- 11. 양식 클라이언트 쪽에서 작성 [자바 스크립트]
- 12. 클라이언트 쪽에서 WCF 서비스 호출 확장
- 13. 플래시를 사용하여 이미지가 도난 당하지 않도록 보호
- 14. 클라이언트 쪽에서 서버 쪽 자바 스크립트 받기
- 15. 업로드하기 전에 클라이언트 쪽에서 이미지 압축
- 16. 클라이언트 측 파이썬은 스레드를 사용할 수 있습니까?
- 17. 클라이언트 측에서 oauth 토큰을 사용할 수 있습니까?
- 18. GWT 클라이언트 쪽에서 사용자 지정 예외 처리
- 19. "filterToolbar"를 사용하여 클라이언트 쪽에서 jqGrid 필터링
- 20. 클라이언트 쪽에서 웹 페이지 디자인을 수정할 수있는 방법이 있습니까?
- 21. MySQL이 binlog에 쓰지 않도록 TRUNCATE 문장을 어떻게 사용할 수 있습니까?
- 22. 자바 스크립트 파일이 캐시되지 않습니까?
- 23. 어떻게하면 웹 서비스 서버 쪽에서 편리하게 얻을 수 있습니까?
- 24. 엔티티를 데이터 계약으로 사용할 수 있습니까?
- 25. Android - 배경 이미지가 스트레치되지 않도록 설정합니다.보기를 할당했습니다.
- 26. 많은 이미지가 포함 된 테이블에 대해 테이블보기를 사용할 수 있습니까?
- 27. 클라이언트 쪽에서 브라우저 페이지 렌더링을 캡처하는 방법은 무엇입니까?
- 28. GWT에서 java.util.Currency를 어떻게 사용할 수 있습니까?
- 29. 이미지가 악의적 일 수 있습니까?
- 30. 클라이언트 쪽 함수로 서버 쪽에서 정적이 아닌 메서드 호출
감사합니다. Andy E 님의 머리. document.getElementById ("myImg"). src = url – morgancodes
@morgancodes : 이미지'src'를 url로 설정하면 브라우저의 기본 캐싱 메소드를 사용하고 현재 캐싱 된 이미지를 검색합니다. 요청을 할 때 요청 헤더 또는 기타 HTTP 관련 옵션을 설정할 수있는 방법이 없습니다. 내 대답에있는 방법은 브라우저가 이미지의 새로운 사본을 다운로드하여 캐시에 보관하도록 한 다음 이미지 요소를 새로 캐시 된 버전으로 전환합니다. –
차가움. 감사. 시도해 볼게. – morgancodes