jQuery에서는 jQuery.getScript() 메소드로 외부스크립트(js파일)를 동적으로 로드할 수 있습니다.
하지만, 스크립트를 로드할 때 타임스태프를 파라메터에 추가하여 호출하여 캐시되지 않도록 되어 있습니다.
스크립트의 내용이 변경되는 파일이라면 유용하겠지만, 고정적인 내용을 가지고 있는 파일이라면 쓸데 없는 낭비가 발생합니다.
아쉽게도 jQuery.getScript()에는 캐시설정을 변경할 수 없습니다. 내부적으로 ajax를 통해 호출하고 있으니 이를 통해 동일한 기능을 사용할 수 있고 캐시설정을 변경할 수 있습니다. 코드는 아래와 같습니다.
jQuery.ajax({
type: 'GET',
url : 'http://www.lifepod.co.kr/api/calendar.js',
cache : true,
success : callback,
dataType : 'script'
});
jQuery.ajax()를 통해 스크립트파일을 가져오는데, 'success'항목에 콜백 함수를 지정하여 파일이 로드된 직후에 특정 코드를 실행할 수 있습니다.
이상, jQuery.getScript()에서 캐시를 사용하지 않는 스크립트파일 로드에 관한 작은 팁이었습니다. :)
아직 제작중인 XE용 Planner 모듈의 자바스크립트 처리부분을 jQuery의 플러그인 방식으로 제작하던 도중 플러그인 내부에서 스크립트파일을 호출시 발견된 문제를 해결하기 위한 방법으로 활용하고 있습니다.
Powered by zeroboard XE ![]()
근데 제로보드XE에서 jQuery를 불러와도 충돌이 없나요?;