Firefox (적어도 v3 이상)와 Safari가 CSS 파일에서 참조 된 이미지를 올바르게 캐시하지 못하는 것으로 나타났습니다. 이미지는 캐시되지만 서버에서 변경된 경우에도 새로 고쳐지지 않습니다. Firefox가 캐시에 이미지를 저장하면 이미지가 변경되었는지 결코 확인하지 않습니다.스타일 시트 이미지가 Firefox 또는 Safari에서 다시로드되지 않음
우리의 CSS 파일은 다음과 같습니다
div#news {
background: #FFFFFF url(images/newsitem_background.jpg) no-repeat;
...
}
문제는 우리가 지금 newsitem_background.jpg 이미지를 변경하는 경우가 명시 적으로 페이지를 새로 고침하지 않는 한, 모든 파이어 폭스 사용자는 여전히 기존의 이미지를 얻을 것입니다. 반면에 IE는 이미지가 변경되었음을 감지하고 자동으로 다시로드합니다.
이 문제는 알려진 문제입니까? 해결 방법은 무엇입니까? 감사!
EDIT : 해결책은 F5를 누르지 않는 것입니다. 나는 이것을 할 수있다. 그러나 우리의 고객은 우리 웹 사이트를 방문하여 오래되고 오래된 그래픽을 얻을 것입니다. F5를 눌러야한다는 것을 어떻게 알 수 있습니까?
Firebug를 설치하고 이미 의심되는 것을 확인했습니다. Firefox는 CSS 파일에서 참조 된 이미지를 검색하여 변경되었는지 확인하지 않습니다. F5 키를 누르면 모든 이미지가 확인되고 웹 서버는 에이 변경된 경우를 제외하고 304로 응답합니다. 여기에서 200 OK로 응답합니다.
그래서 Firefox에 을 자동으로 묻는 방법이 있습니까? css 파일에서 참조되는 이미지를 자동으로 업데이트 하시겠습니까? 확실하게이 문제가있는 유일한 사람이 아니겠습니까?
EDIT2
: 나는 로컬 호스트로이 테스트 및 이미지 응답은 어떤 캐싱 정보를 포함하지 않는, 그건 :Server Microsoft-IIS/5.1
X-Powered-By ASP.NET
Date Tue, 14 Oct 2008 11:01:27 GMT
Content-Type image/jpeg
Accept-Ranges bytes
Last-Modified Tue, 14 Oct 2008 11:00:43 GMT
Etag "7ab3aa1aec2dc91:9f4"
Content-Length 61196
EDIT3 : 내가 좀 더 읽기 짓을했는지 그것은 '그냥 할 수있는 것 같습니다 파이어 폭스 또는 대부분의 브라우저는 이미지가 자주 변경되지 않는다고 가정하기 때문에 (헤더와 모두 만료 됨) 고정되어 있습니다.
를 참조하십시오. 이미지 URL에 문자열을 추가해야합니다. – mark
재부팅을 위해 ctrl + f5를 사용하는 경우 –