묻고답하기
xe에서 기본적으로 jquery를 로드 하나요?
2009.12.22 10:25
xe에서 기본적으로 jquery를 로드하는지 궁금합니다.
이 질문은 하게 된 계기는
http://loopedslider.xpressengine.net/forum/18532355
http://www.xpressengine.com/18543944#comment_18544481
요 두 게시물에서 코멘트와 답변에 jquery를 기본적으로 로드한다고 나와있기 때문인데요,
제가 jquery로 짜여진 스크립트를 이용하려고 제 홈페이지에 외부페이지로 업로드 해보았는데
적용이 되질 않아서 소스보기 해보니까 head에는 <script type="text/javascript" src="/common/js/plugins/ui/jquery-ui.packed.js"></script>
밖에 없더라구요. xe 홈페서도 마찬가지구요.
(jquery-ui는 xe 템플릿용어 사용하기 위한 것만 들어있는거 맞나요?)
그래서 제가 직접 <!--%import("/common/js/jquery.js")--> 임포트로 집어넣으려고 했습니다.
그런데 만약 기본적으로 로드된다고 하면 jquery 로드가 중첩되기때문에 사이트 속도나 안정성면에서 떨어질 것 같아서 질문드리게 되어습니다.
추가질문!
/common/js 폴더 내에있는 자바스크립트파일들은 직접 import 시키지 않아도 기본적으로 적용되는 건지 궁금합니다.
만약 background를 png 이미지로 사용할 경우에 IE6에서는 alpha값이 적용되지 않아 투명색이 회색또는 하늘색으로 나타나는데
/common/js/iepngfix_tilebg.js 를 따로 import 시키지 않아도 class="iePngFix" 만 넣어주면 자동적으로 적용되는건지 궁금합니다.
이것도 제가 따로 import해서 넣었었거든요..
자답입니다-_-;
http://www.bluegate.kr/?document_srl=123300
http://www.xpressengine.com/18448963
http://xe.xpressengine.net/18226012
이런 여러게시물을 접하고 연구해보았는데, 행복한 고니님께서 올리신 글과 라르게데님께서 올리신 사이트
http://docs.jquery.com/Core/jQuery.noConflict 에서 방법을 찾아 알게되었습니다.
JQuery 스크립트 내의 $을 모두 JQuery로 바꿀 필요 없이 스크립트 맨 앞과 맨 뒤에
(function($){
})(jQuery);
를 넣어주면 됩니다. 이 내용은 행복한고니님께서 올려주신 부분이었죠. jquery 사이트에서 예제와 자세한 내용을 보고서야 이해했습니다.
그런데 제가 가지고 있던 플러그인에는 이미 저렇게 감싸져 있더군요. 그래도 적용이 안되서 계속 찾아보는 도중 나중에 다시 보니깐 외부페이지에 직접 <script type="text/javascript"> 으로 들어가는 스크립트 내에 저걸로 감싸져 있지 않았었기 때문이었습니다.
외부페이지 내에있는 스크립트에도 저걸로 감싸주니까 잘 적용됩니다.
즉 xe는 jquery를 기본적으로 로드하고 있는 상태라고 할 수 있습니다.