웹마스터 팁
외부페이지에서 매개변수 사용가능하도록 하는 방법
2007.12.05 18:10
이라고는 했지만 XMLHttpRequest 써서 사용했습니다.
혹시나 필요로 하시는 분들이 계실지도 몰라 알려드릴까 합니다. ^^
http://도메인/zbxe/?mid=모듈명&aaa=111
이런식으로 외부페이지에서 이용하게 될 경우 뒤에 aaa가 변수로써 인식 못하게 되지요...
그래서 저는 그냥 따로 XMLHttpRequest를 써서 이용헀습니다.
XMLHttpRequest의 역할은 제로XE에서 글 저장할때 화면은 안움직이고 데이터 전송해서 처리하는 뭐 그런 역할입니다.
xmlhttp.js <-이름은 하기 나름
var xmlProc = null; if( window.XMLHttpRequest ){ xmlProc = new XMLHttpRequest(); } else{ xmlProc = new ActiveXObject("Microsoft.XMLHTTP"); } function $(element){ return document.getElementById(element); } // XMLHttpRequest 처리 function Ajaxmove(func, url){ if( xmlProc ){ xmlProc.open('GET', url, true); xmlProc.onreadystatechange = function() { switch(xmlProc.readyState){ case 1 : //url 내용을 Loading 중 일때 break; case 2 : //url 내용을 서버가 처리 준비 중 일때 break; case 3 : //url 내용을 서버가 처리 중 일때 break; case 4 : //url 내용을 처리 완료 일때 switch(xmlProc.status){ case 403 : //접근 거부가 났을때 break; case 404 : //파일 및 경로에 내용이 존재하지 않을때 break; default: // 성공 일때 if((xmlProc.status >= 200) && (xmlProc.status <= 299)){ eval(func+"()"); //#함수로 사용할 시 //$(func).innerHTML = xmlProc.responseText; //# getElementById 로 바로 사용할 시 출력 }else{ alert('error'); } break; } break; default: break; } } xmlProc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xmlProc.send(null); } } // 함수로써 사용할시 function data_rss(){ $('data_rss').innerHTML = xmlProc.responseText; } //
위 파일을 하나 만드셔서 원하는 곳에 두십시오.
녹색부분으로 쓴 내용은 function으로 해서 출력 이외의 용도로 쓸 경우와 그냥 목적ID로 출력만 할 경우로 했습니다.
외부페이지에 설정될 파일안에 들어갈 내용
<script type="text/javascript" src="원하는위치/xmlhttp.js"></script> <div id="원하시는이름"></div> <a href="링크주소" onclick="Ajaxmove('ID명이나혹은함수명',this.href); return false;">메인 자료실</a>
테스트 페이지를 보여주고 싶지만 자료실 용도로 집에있는 곳과 연동을 시켜놔서 보여드릴 수가 없네요....^^;
댓글 12
-
지나가다
2007.12.07 05:31
저걸 다 타이핑쳐야하나요???? 윗부분도 약간 안보이느데....... 설명이 좀 미흡한거같네요 -
타..타이핑;;
긁으셔서 ctrl+v 하시던지 위쪽에 copy to clipboard 으로 저장해서 파일 만드시면 됩니다.
약간 안보인다는건 아마도 화면이 찌그러(?) 지는 걸 말씀하시는거 같은데 스크롤 위로 올렸다 내렸다 하면 잘 보입니다. -
이경훈297
2007.12.09 05:55
아참!!!!!!!!!
전이미지 파일인줄 알았습니다
죄송합니다 -
똑디
2007.12.08 14:18
좋은 정보 감사합니다.^^ 퍼갑니다..
-
이경훈297
2007.12.09 07:14
그런데 이걸 어떤용도로 사용하는지..... 질문좀 부탁드리겟습니다 -
XMLHttpRequest 에 대해서 인터넷에서 먼저 공부하셔야지 저도 설명이 가능하겠는데요...
간단히 말하자면 화면을 리플레쉬 하지 않고 새로운 정보(요청한 페이지를 서버에서 처리되어나온 결과)를 원하는 위치에
출력 가능하도록 하는 방법입니다.
제로XE같은 경우 페이지모듈에 특정 매개변수를 포함하여 링크를 걸면 변수로써 인식할 수 없기 때문에
편법을 이용하여 페이지모듈내의 화면에서 출력 되게끔 한겁니다.
활용은 제로XE 뿐만 아니라 리플레쉬 하지않고 새로운 정보 얻는 방식의 따른 일반 페이지에서도 응용만 하면 할 수 있습니다.
ps : 제 홈피에 가입하시면 위 내용으로 구현된 페이지모듈 확인 하실 수 있으실거에요 ^^ -
leeple
2007.12.09 13:47
뭔가 좋아 보이기는 한데...까막눈이라 도통모르겠네요.
저걸사용하면 외부페이지모듈로 불러온페이지에서
화면이동없이(iframe처럼?) 불러온페이지로 변수값을 넘길수 있다는 뜻인가요? -
위의 응용형태로 만든 예 입니다.
http://animeclub.dnip.net/zb5/xe/index3.htm
링크된 방식처럼 페이지가 리플레쉬 되지 않고 같은 도메인내의 다른 주소의 파일 등의 정보를 출력하는 겁니다.
이를 사용하여 페이지모듈에서 매개변수 등의 처리도 별도의 일반페이지(제로XE와 관계없는)를 만들어 그쪽에서
처리해서 결과를 페이지모듈내에 출력해서 마치 페이지모듈에서 동작하는것처럼(?) 표현하는 거지요... -
leeple
2007.12.09 23:51
친절한 답변 감사합니다.
제대로 이해했는지 모르겠지만, 이걸이용하면 기존에 만들어 놓은 타솔루션의 데이터이용도 가능하다. 인것같은데요.
그럼, 타솔루션으로의 데이터 등록,수정,삭제도 페이지를 만들어서 연결시키면 XE페이지모듈내에서 가능해 지는 건가요?
답변 부탁드립니다. -
XMLHttpRequest 의 조건은 같은 도메인 내 입니다.
타 솔루션은 rss나 문자열을 뽑아서 보여주거나 해야겠고요...
기타 궁금하신건 쪽지로 물어봐주세요 ^^ -
SensePlus1
2007.12.12 00:50
아직까지 실력이 여기까지는 아니지만, 나중에 아주 유용하게 써 먹을꺼 같은 생각이 드네요.
감사합니다.
퍼갈께요~ -
도토리나무
2007.12.14 14:52
잘 사용하겠습니다.
^^
제목 | 글쓴이 | 날짜 |
---|---|---|
XE에서 레이아웃이나 기타의 페이지에 include 사용에 대한 오해??? [3] | DuRi | 2011.01.18 |
텍스타일 블로그 메인페이지 만들기 [1] | designm | 2011.01.13 |
두개 이상의 홈페이지 운영 - Virtual host 설정 [1] | 이성헌 | 2005.12.15 |
홈페이지 대량 변조 발생에 따른 ‘주의’ 경보발령 [4] | ATpple.com | 2005.01.07 |
[XAMPP]한 컴퓨터에서 여러 개의 홈페이지 운영하는 방법(가상호스트 아님) [8] | The Darkness | 2004.02.05 |
APM_Setup4 에서 에러페이지 띄우기 [2] | RedEye(kaist) | 2003.05.28 |
htaccss를 활용하자! 1탄 에러페이지 만들기 [10] | [쿨럭]블루엔젤 | 2003.01.23 |
에러페이지를 서버관리자가 지정한 페이지로. [1] | teenteenv | 2002.02.21 |
웹페이지 미리보기 snapshot 활용하기 [2] | 유창화 | 2008.02.15 |
나만의 미니홈 만들기 ㅡ 미니홈 생성 페이지
[3]
![]() | 예뜨락 | 2004.11.20 |
나만의 미니홈 만들기 ㅡ 기초적인 관리 페이지
[3]
![]() | 예뜨락 | 2004.11.20 |
페이지에 암호를 걸자..=_= [27] | ☺심심 | 2004.06.25 |
카일레라 서버 페이지 만들기. [2] | teslaMINT | 2003.12.09 |
홈페이지 관리자 모드 구축하기 (HTTP 인증, 중복 맞음)
[10]
![]() | 9000㎒ | 2003.11.01 |
내 홈페이지의 방문자 어디서 접속했을까 알아봅시다
[21]
![]() | 버찌소년 | 2003.10.08 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
제로보드식 에러페이지 만들기 [2] | .zeve | 2003.02.04 |
[동주아빠] PHP 게시판(17강) - 저장 후 페이지 이동 | 손병목 | 2002.12.25 |
모닝샵 이용해서 쇼핑몰 만들기 (웹페이지 만들기1)
[8]
![]() | 한꼬마 | 2002.11.22 |
초보의 초보를위한 강의 PHP를 활용한 페이지 암호걸기 #3 [10] | 아이쿠 | 2002.11.15 |