2011-03-18 8 views
1

우리가 개발중인 응용 프로그램 중 일부는 다음과 같은 간단한 코드로 위젯으로 타사 웹 사이트에 제공 될 예정입니다.앱이 위젯으로 배송 될 때 캐싱하는 자산을 처리하는 방법은 무엇입니까?

<script src="ourdomain/script.js" type="text/javascript"></script> 
<div id="our-id"></div> 

다음과 같은 간단한 코드를 사용하여 위젯으로 제공 할 수있는 방법이 있습니까? 예를 들어 치명적인 버그와 같은 script.js 코드 수정과 다음로드 사용자가 새 버전을 가져 오지 못하게하기 위해 캐싱 기능이 없습니까?

다른 말로하면이 경우 timestamp etags와 비슷한 아날로그가 있습니까?

미리 감사드립니다!

답변

1

그런데 한 가지 방법 (안 최고) 각 부하에 스크립트를로드하도록 강제하는 것입니다, 그래서 캐싱 사이트에서 모든 자산을로드하는 iframe이 될 수

<script type="text/javascript"> 
    document.write("<script src='ourdomain/script.js?" + (new Date().getTime()) + "' type='text/javascript'></script>"); 
</script> 
<div id="our-id"></div> 

다른 일어나고 없다 , JS를 업데이트하면 브라우저에 고유 한 이름을 부여 할 수 있으므로 브라우저에서 가져 오게해야합니다.

+0

위젯이 매우 복잡하고 매우 유용한 딥 링크 지원을 제공하는 sammy.js로 작성 되었기 때문에 Iframe 솔루션을 사용할 수 없습니다. . 방금 친구로부터 또 다른 추천을 받았습니다 : http://httpd.apache.org/docs/2.0/mod/core.html#fileetag. 나는 그것이 어떻게 작동 하는지를 이해하는 올바른 사람은 아니지만 그것이 문제를 해결해야한다고 생각합니다, 그래서 저는 우리의 관리자에게 그 링크를 전달합니다 :) – lyuba

관련 문제