티스토리 뷰
1)
LoadJS("http://wwww.site.com/js/callJS.js", fncCallback);
// JS 로드 메소드
function LoadJS(fileUrl,callback) {
var oHead = document.getElementsByTagName('HEAD').item(0);
var oScript= document.createElement("script");
oScript.type = "text/javascript";
oScript.src=fileUrl ;
oHead.appendChild(oScript);
if (document.addEventListener) {
oScript.onload = callback;
oScript.onerror = callback;
} else {
oScript.onreadystatechange = function(){ LoadJsReady(oScript,callback);};
}
}
function LoadJsReady(obj,callBack) {
if (obj.readyState=="loaded") {
callBack();
}
}
// 콜백 메소드
function fncCallback() {
alert("load success");
}
2) 1과 같은 거지만 상세한 설명 포함
// 자바 스크립트 동적 로딩
function loadJS(jsUrl, callback) {
var head = document.getElementsByTagName('HEAD').item(0);
var script = document.createElement("script");
script.type = "text/javascript";
// 완료 여부 확인 후 후속처리
// 1. IE 에서는 script.onload fnc 가 먹지 않기에 onreadystatechange 로 로딩이 완료 되었는지 여부를 확인
var loaded = false;
script.onreadystatechange = function()
// 서버에서 읽어올 경우 loaded, 캐쉬에서 가져올 경우 complete 이기에 둘 모두 처리
if (this.readyState == 'loaded' || this.readyState == 'complete') {
// loaded 가 일어나서 callback() 을 실행하였는데 또 complete 가 발생하여 다시 callback() 을 실행하는 것을 방지하기 위함
if (loaded) return;
loaded = true;
callback();
}
}
// 2. firefox, chrome 에서는 onload 가능.
script.onload = function() {
callback();
}
// 3. 에러 시 콜백 함수 호출
// script.onerror = function() {
// fncError();
// }
script.src = jsUrl;
head.appendChild(script);
}
'프로그래밍' 카테고리의 다른 글
[ETC] FORMATTER 링크 모음 (0) | 2016.12.24 |
---|---|
[JAVASCRIPT] jQuery - 입력 받은 숫자를 시,분, 초로 나타내며 카운트다운 하기 예제 (0) | 2016.12.24 |
[JAVASCRIPT] 정렬 예제 (0) | 2016.12.24 |
[JAVASCRIPT] slice, join (0) | 2016.12.24 |
[JAVASCRIPT] 동적 height 조절 (0) | 2016.12.24 |
- Total
- Today
- Yesterday
- 후마리
- Oracle
- 마추피추
- 칼라마
- 아구아스 칼리엔테스
- 빅토리아폴스
- Cambodia
- Uyuni
- 족발
- aguas calientes
- calama
- Namibia
- 애드센스
- 우유니
- 칠레
- 햄버거
- 캄보디아
- 남미 저가항공
- 토레스 델 파이네
- 성계 투어
- 나미비아
- 빈트후크
- 성스러운 계곡
- 쿠스코
- jQuery
- 남미
- 푸에르토 나탈레스
- 킹덤 호텔
- Cusco
- 볼리비아
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |