게시판 ajax 어댑터. > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

게시판 ajax 어댑터. 정보

게시판 ajax 어댑터.

첨부파일

gnb_ajax[060627].tar (83.0K) 129회 다운로드 2006-06-27 19:46:51

본문

소스가 않좋아서 팁이라기 보다는 이런 것도 있구나 정도로 봐주시면 좋겠습니다.
ajax 게시판 스킨을 거쳐서 실제 사용하실 스킨을 ajax 로 불러올 수 있도록 해본 겁니다.
현재는 완전한 ajax 는 아니라서 일부(코멘트 쓰고 난 후, 글쓰기 등) 는 레이아웃을 불러들이는
보통 방식으로 작동 하는 혼합 형태 입니다.

설치는

ajax 폴더는 /skin/board 폴더에 넣으시구요.
bbs 폴더의 파일 2개를 /bbs 폴더에 넣으세요.
게시판 스킨을 ajax 로 변경해주신 후에
게시판 설정의 bo_1 에 사용하실 실제 스킨명(폴더명)을 적어 주세요.

이대로도 쓰면 작동은 하나 skin 상의 스크립트가 작동을 안할 수 도 있습니다.
이러한 스크립트는
<script></script> 구문을 <script DEFER></script>로
DEFER 각각 를 추가 해주시면 됩니다.

list.skin.php 의 검색을 ajax 로 불러오실려면,
list.skin.php 상의
<form name=fsearch style="margin:0px;"> 을
<form name=fsearch style="margin:0px;" onsubmit="return ajax_search(this.bo_table.value,this.sca.value,this.sfl.value,this.stx.value);">
로 바꿔주세요.
안해주시면 검색시 보통의 방식으로 불려옵니다.

전문 프로그래머가 아니라서 최적화 없이 단순히 작동 되도록 만들어 졌습니다.
그냥 이런 것도 있구나 정도로 봐주시고, 개량할 부분이 많을테니 많은 조언 부탁드립니다.
phpschool 을 통해 공개해주셨던 '후리자 보드' 는 히스토리 기능도 되던데, 스크립트를 몰라서
분석을 못하겠더군요. ㅠ.ㅠ

innerHTML 로 삽입하면 좋았을 텐데 DEFER 를 추가해도 스크립트가 작동을 안해서
IE 엣는 insertAdjacentHTML 을 FF 에서는 웹상에 떠도는 insertAdjacentHTML 에뮬 소스를
사용했습니다. 혹 스크립트가 되는 더 좋은 방법 아시면 가르침 부탁드리겠습니다.

테스트 페이지는 아래와 같습니다.
http://www.teamheat.co.kr/gnb/bbs/board.php?bo_table=test    ajax
http://www.teamheat.co.kr/gnb/bbs/board.php?bo_table=test2  일반방식
추천
1

댓글 13개

아~~ 혹시 다음에서 꼬리말 쓰기 처럼 웹페이지가 넘어가는것이 아니라

그냥 그 상태에서 글이 올라가는 형식이죠?

ajax에대해 자세히 모르겠네요..ㅜㅜ
제가 전문 프로그래머가 아니라 ajax 가 뭐라고 할 수는 없는데요.
특정 소스라기 보다는 웹 구현 기법이나 스타일로 알고 있습니다.
이 스킨 어댑터는 XMLHttpRequest 를 사용해서 게시판 부분만 리로드해서 innerHTML(정확히는 아니지만) 로 <div> 에 넣는 것이라서 레이아웃은 리로드 되지 않습니다. 그래서 레이아웃에 포함된 php 소스는 변화하지 않기에 서버에 부담을 덜 준다고 볼 수 있겠네요. 런타임의 경우 저희 홈이 풀로드시 0.5 정도인데요 (--;) 위 스킨으로 돌리면 게시판만 리로드 되기에 0.2 정도 나와요. 레이아웃 없이 순수 게시판만 돌릴때랑 비슷하게 나오는거 같네요.
대신 스크립트에서 부하가 걸리는지 회선이 빠른데선 별차이 없는거 같구요.
망이 느린데선 좀 차이 나는거 같습니다. 전문가가 아니라서 확신은 못하겠네요.

게시판 자료실 탭사용 최근 게시물이 많은데요. 거기에 ajax 를 쓰면 꽤 효과를 볼것 같네요.
여튼 제껀 스크립트 소스가 않좋아서 어느분이 최적화 좀 해주셧으면 하는 소망입니다. --;
오늘 알았는데 prototype.js 를 사용해도 스크립트가 되더군요.
phpschool 의 ajax 란에 가시면 많은 정보 얻으실 수 있을꺼에요.
저 같은 ' ctrl + p ' 인생은 그져 소스 돌아가면 쾌재를 부르는 타입이라..
참, 목진철님 항상 글 남겨 주셔서 감사합니다. 플록님도요. ^^
코멘트의 어떤 부분을 원하시는지 잘 모르겠네요..
코멘트 쓰면 전체 리로드 없이 코멘트 리스트만 리플레쉬 되는 걸 말씀 하시는 건가요?
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT