이런저런 사정이 있어서 jQuery 라이브러리가 로드되었는지 판별하여,
로드되지 않았을 경우에만 동적으로 로딩할 일이 생겼음.
// jquery를 로딩하고 로딩완료시 callback 실행
function get_jquery_and_go(callback)
{
// jQuery가 이미 로드되어 있으면 그냥 callback() 실행
if (typeof window.jQuery != 'undefined') {
callback();
}
// jQuery가 로드되어 있지 않음
else {
// <script> element를 하나 생성
var script = document.createElement('script');
script.type = 'text/javascript';
// jQuery 로딩 완료 후 callback() 실행
// IE
if (script.readyState) {
script.onreadystatechange = function(){
if (script.readyState=='loaded' || script.readyState=='complete') {
script.onreadystatechange = null;
callback();
}
}
}
// 기타 브라우저
else {
script.onload = function(){
callback();
}
}
// jQuery 로딩
script.src = '//code.jquery.com/jquery-latest.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
}
// 테스트
document.onload = function(){
get_jquery_and_go(function(){
// 이 시점에 jquery 로딩 완료
alert('jquery 준비 끝');
});
});
'JavaScript' 카테고리의 다른 글
[JavaScript] IE에서 flash를 <embed>태그를 이용해서 넣을 때 src에 값이 없으면 window.onload 진입 안됨 (4) | 2014.07.03 |
---|---|
[JavaScript] 브라우저가 파일업로드를 지원하는지 알아보기 (mobile browser, input file) (0) | 2014.06.30 |
[JavaScript] iframe을 이용하여 ajax인 척 파일업로드 (jquery, file upload, ajax, iframe) (6) | 2014.06.08 |
[JavaScript] window.ShowModalDialog가 사라진다. (0) | 2014.05.11 |
[JavaScript] cross-domain localStorage (0) | 2014.04.17 |