당신의 WebSite에서 사용중인 Javascript 또는 Stylesheet file들을 필요할 때에만 동적으로 load하십시오. Include.js를 사용하면 browser의 성능을 높이는 동시에 network traffic을 절약하는 효과를 누릴 수 있습니다.
Features
- Cross-browser
- onComplete event 반환
- 다양한 호출방법 지원
Requirement
- Prototype Version 1.6.0 이상
Known Issues
- Load중 발생하는 추가 Event를 놓침
ChangeLog
2007-04-24 Update:
- Include 함수를 클래스화 함
- 경로와 확장자를 근거로 파일의 확장자 및 경로가 구분되도록 함
- 더이상 boolean을 반환하지 않음
- 스크립트 onComplete event를 브라우저별로 처리함
- options에 기본경로를 넘길 수 있음(파일과 옵션에 모두 경로가 있는 경우 파일명에 기입한 경로명를 우선시 함)
new Include('1.js, 2.css, /js/3.js, 4.css, 5.js', { JSPath : 'http://js.com/', CSSPath : '/css/' });
// -> 1.js = 'http://js.com/1.js'
// -> 2.css = '/css/2.css'
// -> 3.js = '/js/3.js/'
// -> 4.css = '/css/4.css/'
// -> 5.js = 'http://js.com/5.js'
2007-04-25 Update:
- IE의 onComplete event 버그 수정
- 아규먼트로 넘겨진 함수는 인클루드한 파일 타입이 자바스크립트이고 로드가 성공했을 때 에만 발생
- 복수개 파일을 호출한 때에는 마지막 자바스크립트 파일의 로드가 완료 되는 시점에 이밴트가 한번만 발생
2007-04-29 Update:
- 오페라 브라우저의 onComplete event 추가 (routine 님 감사합니다.)
2007-04-30 Update:
- #all 메서드 추가 현재 로드한 모든 파일의 배열을 반환합니다.
- #javascripts 메서드 추가 현재 로드한 자바스크립트의 배열을 반환합니다.
- #stylesheets 메서드 추가 현재 로드한 스타일시트의 배열을 반환합니다.
Include.all;
// -> ["SCRIPT tag(4)", "LINK tag(2)", script prototype.js, script effects.js, script extentions.js, script include.js, link, link]
Include.javascripts;
// -> ["SCRIPT tag(4)", script prototype.js, script effects.js, script extentions.js, script include.js]
Include.stylesheets;
// -> ["LINK tag(2)", link, link]
- .duplicate 옵션 추가 'boolean' 속성이며 'true'로 설정할 경우 중복으로 로드하는 것을 검사하지 않음(기본 false)
new Include('fileName.js', { duplicate : true });
2007-4-22 : 배포
인(仁)이 지나치면 약해지고, 의(義)가 지나치면 딱딱해지고, 예(禮)가 지나치면 아첨이 되고, 지(智)가 지나치면 거짓말을 하게 되고, 신(信)이 지나치면 손해를 보게 된다.
남용하지 말자는 얘깁니다. ^^;