웹마스터 팁
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기
2014.08.28 16:26
AJKJ님께서 파일을 올리신 jsdelivr cdn을 사용합니다.
http://www.xpressengine.com/22768131 <- 링크참조해주세요 ^^
장점 : 트래픽이 절감되고 저사양 서버에서 속도가 향상됩니다
단점 : 코어 수정이 어려워 집니다.
*주의 : 버전을 무조건 latest로 해놓았습니다. 구버전일 경우 pull request로 jsdelivr에 파일을 업데이트 해주시면 되시고요, 구버전의 경우 파일이 없을경우 풀 리퀘스트로 추가 해주시고 ///cdn.jsdelivr.net/xe-core/latest를 ///cdn.jsdelivr.net/xe-core/'버전명'으로 접속하시면 되십니다. XE 1.7버전에서만 동작합니다.
JQUERY관련 cdn 에드온을 해제해주셔야 합니다 ^^
방법 : xe설치경로/classes/display/HTMLDisplayHandler.php를 DIFF대로 수정하시면 되십니다. ^^
DIFF ( orgin.php는 기존 파일입니다 ^^ ) :
diff --git a/orgin.php b/HTMLDisplayHandler.php index 809c74d..d95c7d1 100644 --- a/orgin.php +++ b/HTMLDisplayHandler.php @@ -407,11 +407,11 @@ class HTMLDisplayHandler } else { - $oContext->loadFile(array('./common/js/jquery-1.x.min.js', 'head', 'lt IE 9', -111000), true); - $oContext->loadFile(array('./common/js/jquery.min.js', 'head', 'gte IE 9', -110000), true); - $oContext->loadFile(array('./common/js/x.min.js', 'head', '', -100000), true); - $oContext->loadFile(array('./common/js/xe.min.js', 'head', '', -100000), true); - $oContext->loadFile(array('./common/css/xe.min.css', '', '', -1000000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/js/jquery-1.x.min.js', 'head', 'lt IE 9', -111000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/js/jquery.min.js', 'head', 'gte IE 9', -110000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/js/x.min.js', 'head', '', -100000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/js/xe.min.js', 'head', '', -100000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/css/xe.min.css', '', '', -1000000), true); } // for admin page, add admin css @@ -455,7 +455,7 @@ class HTMLDisplayHandler } else { - $oContext->loadFile(array('./common/css/mobile.min.css', '', '', -1000000), true); + $oContext->loadFile(array('///cdn.jsdelivr.net/xe-core/latest/common/css/mobile.min.css', '', '', -1000000), true); } }
XE 1.7.5.7기준으로 수정한 HTMLDisplayHandler.php를 첨부파일에 올려두었습니다 ^^
---------------------------------------------------------------------------------------------------
+ 수정2
AJKJ님께서 xecore 업데이트가 되었을 때 latest로 불러오면 문제가 생길 수 있다고 하십니다.
Diff을 이용해서 수정할때 ///cdn.jsdelivr.net/xe-core/latest/를 ///cdn.jsdelivr.net/xe-core/1.7/로 수정해 주세요.
* JQuery UI는 에드온을 사용하셔야 합니다. ( http://www.xpressengine.com/index.php?mid=download&package_id=22673736 )
- [2019/03/18] 포럼 XE 레이아웃 제작 일주일 코스
- [2019/01/18] 묻고답하기 모바일에서 서 레이아웃 비정상 문의드려요
- [2018/12/31] 묻고답하기 슬라이드 위젯 삽입 후 메뉴가 안보이네요 고수님들 부탁드립니다 *6
- [2018/11/21] Blog [XE3] XE Store 사업설명회 행사 안내 - 2018년 12월 5일 *2
- [2018/03/28] 묻고답하기 $oMail->setSender Sender 이메일 발신자가 공백으로 나옵니다. *3
댓글 13
-
AJKJ
2014.08.28 17:18
-
Typhoon
2014.08.28 17:31
그러면 버전을 1.7로 해놓으면 좋을 것 같습니다 ㅎㅎ
jsdelivr에서는 아마 그렇게 하면 1.7.x의 최신버전이 업로드 될것같습니다.
있다가 수정해 놓겠습니다 !
-
Typhoon
2014.08.28 17:32
아, 근데 jsdelivr github에 xe자동업데이트 왜 해제되었나요?
그리고 일부 css 적용시 해당 이미지가 없어서 문제가 되는 현상이 있습니다.
common폴더의 이미지 파일( common/img폴더와 png, gif파일 )도 올려주세요 ㅎㅎ
-
AJKJ
2014.08.28 18:14
자동업데이트는 해제했습니다. 업데이트봇이(jsdelivr) XE git을 건드리지 못하는것 같아요. 아마 버젼명이 3자리를 넘어가면 인식하지 못하거나 기타 다른 문제가 있는것같습니다.(XE만 안됩니다.)
img도 업로드 할게요.
-
Typhoon
2014.08.28 22:23
음... jsdelivr의 문제이군요 ㅎㅎ
감사합니다 ~
-
AJKJ
2014.08.29 00:30
xe 1.7.5.7 업데이트 하였습니다. 일부 폴더를 제외한 주요 폴더의 JS/CSS/PNG/GIF/JPG/JPEG 파일은 모두 CDN에 올라가 있습니다.
-
Typhoon
2014.08.29 08:05
감사합니다 ^^
-
AJKJ
2014.08.29 00:36
https://github.com/jsdelivr/jsdelivr/tree/master/files/xe-core/1.7.5.7 에서 업로드 된것 확인 가능해요.
-
mAKEkr
2014.08.29 21:41
코어를 수정하시는것보단 자료실에 올라온 jquery 관련 외부로드 애드온을 조합하여 이용하시는걸 추천드립니다 :)
-
Typhoon
2014.08.29 22:24
ㅎㅎ jquery 말고 다른 녀석들 때문에 이렇게 씁니다. ( 코어 수정 했는데 에드온도 쓰면 그렇잖아요? )
(
서버가 너무 느려서요.. ) -
mAKEkr
2014.08.30 10:46
아뇨 그 애드온의 코드를 수정하시면 본문의 팁을 코어수정없이 애드온만으로 해결할 수 있단 소리에요.
-
Typhoon
2014.08.30 11:36
아하!
잘못 알아들었네요 ㅎㅎ
unloadfile과 loadfile을 이용하면 되네요.
감사합니다!
-
boy2
2014.09.20 13:14
이걸 1.7.6버전에서 사용해도 되는건가요?
제목 | 글쓴이 | 날짜 |
---|---|---|
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기
[13]
![]() | Typhoon | 2014.08.28 |
XE로 API 처리 완전 정복하기(1)
[6]
![]() | 라르게덴 | 2009.11.02 |
XE로 API 처리 완전 정복하기(2)
[2]
![]() | 라르게덴 | 2009.11.03 |
xml js filter를 이용한 form 정보 전달 시 disabled="true" 사용 팁 [5] | 라르게덴 | 2010.01.20 |
메인메뉴에서 2차메뉴가 1차메뉴를 따라다니는 롤오버 메뉴로 만들기 [13] | 우야노 | 2008.05.03 |
버젼은 Latest보다는 직접 명시하여 적어두는 것이 좋을것 같다는 생각이 듭니다.
이렇게 하면 나중에 1.8이 업로드될 경우 1.7 사용자라도 1.8의 JS가 로딩되는 문제가 있을 수 있습니다.
최근 XE의 보안패치에서 JS,CSS가 변화한 경우가 없어서 최신 보안패치버젼(1.7.X는) 업로드 하지 않않습니다만, 모르시는 분들이 있을것 같아 관련내용을 따로 적어두야 할것 같습니다.