2012-08-17 2 views
0

facebox라는 jquery 플러그인을 사용하고 있습니다. 그것은 아주 잘 작동하지만 나는 직면 해있다! 문제가있다. 그것은 iframe 메서드로 인해 내 브라우저가 대상 페이지에로드되는 CSS를 캐시하도록 만드는 것 같습니다.CSS 및 js 파일이 iframe에 의해 캐싱되고 있습니다.

jquery 준비 상태의 내 페이지에서이를 호출하는 방법입니다.

$의 urlparticipate가 iframe에 열립니다 URL입니다
$('a.participate').click(function(){ 
      $.facebox({ 
       iframe: '" . $urlparticipate . "', 
       rev: 'iframe|550|550' 
      }); 
      return false ; 
     }); 

. facebox.js에서 더 가까이에서 보았고 iframe을 만드는 데 플러그인에서 사용하는 것으로 보이는 다음 메소드를 발견했습니다.

function fillFaceboxFromIframe(href, klass, height, width) { 
    $.facebox.reveal('<iframe scrolling="auto" marginwidth="0" width="'+width+'" height="' + height + '" frameborder="0" src="' + href + '" marginheight="0"></iframe>', klass) 
    } 

어떻게 css가 캐시되지 않도록 할 수 있습니까? 나는 엘리먼트의 CSS 스타일을 바꾸기 때문에 캐시되고 있다는 것을 알고있다. 나는 심지어로드되고있는 일부 js 코드와 여전히로드 된 js 코드를 변경했다.

  1. 머리 프런트 엔드에 대상 페이지에서 "노 캐시"

    메타 HTTP-당량 = "캐시 제어"내용 = 추가하지 :

    은 또한 다음과 같은 시도

    메타 HTTP-당량 = "에서 Pragma"내용 = "노 캐시"

    메타 HTTP-당량 = "만료"내용 = "0"

  2. 코드 뒤에서 몇 가지 헤더를 추가하려고했습니다 (PHP)

    헤더 ("Cache-Control : no-cache");

    헤더 ("Pragma : no-cache"); 나는 무엇을 더 성공

모든

.. 놓친 거지?

답변

2

언제든지 페이지에서 CSS 참조를 "버전 관리"할 수 있습니다. 좋은 방법과 좋지 않은 방법이 있습니다. 하나의 정적 버전 번호를 사용하여 변경할 때마다 또는 임의로 생성 된 GUID를 사용하여 페이지에 대한 모든 요청을 CSS 파일을 검색하도록 강제 실행합니다 (에스). 더 나은 옵션은 다음과 같이 정적 인 것입니다.

<link type="text/css" rel="stylesheet" href="cssfile.css?1.12" /> 
+0

예! 하지만 다시 캐시됩니다 .... 매번 임의의 숫자와 같은 것을 추가해야합니까? – themis

+0

+1이 무엇인지 알고 있기 때문에 –

+0

ye works! 고마워요 – themis

1

브라우저가 캐시 할 수 없도록 CSS 파일 이름 (일반적으로 버전 번호)과 함께 var을 던져보십시오. foo.css와 같은 것? ver = bar