웹마스터 팁
외부페이지에서 매개변수 사용가능하도록 하는 방법
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
저걸 다 타이핑쳐야하나요???? 윗부분도 약간 안보이느데....... 설명이 좀 미흡한거같네요 -
라르게덴
2007.12.07 09:42
타..타이핑;;
긁으셔서 ctrl+v 하시던지 위쪽에 copy to clipboard 으로 저장해서 파일 만드시면 됩니다.
약간 안보인다는건 아마도 화면이 찌그러(?) 지는 걸 말씀하시는거 같은데 스크롤 위로 올렸다 내렸다 하면 잘 보입니다. -
이경훈297
2007.12.09 05:55
아참!!!!!!!!!
전이미지 파일인줄 알았습니다
죄송합니다 -
똑디
2007.12.08 14:18
좋은 정보 감사합니다.^^ 퍼갑니다..
-
이경훈297
2007.12.09 07:14
그런데 이걸 어떤용도로 사용하는지..... 질문좀 부탁드리겟습니다 -
라르게덴
2007.12.09 18:58
XMLHttpRequest 에 대해서 인터넷에서 먼저 공부하셔야지 저도 설명이 가능하겠는데요...
간단히 말하자면 화면을 리플레쉬 하지 않고 새로운 정보(요청한 페이지를 서버에서 처리되어나온 결과)를 원하는 위치에
출력 가능하도록 하는 방법입니다.
제로XE같은 경우 페이지모듈에 특정 매개변수를 포함하여 링크를 걸면 변수로써 인식할 수 없기 때문에
편법을 이용하여 페이지모듈내의 화면에서 출력 되게끔 한겁니다.
활용은 제로XE 뿐만 아니라 리플레쉬 하지않고 새로운 정보 얻는 방식의 따른 일반 페이지에서도 응용만 하면 할 수 있습니다.
ps : 제 홈피에 가입하시면 위 내용으로 구현된 페이지모듈 확인 하실 수 있으실거에요 ^^ -
leeple
2007.12.09 13:47
뭔가 좋아 보이기는 한데...까막눈이라 도통모르겠네요.
저걸사용하면 외부페이지모듈로 불러온페이지에서
화면이동없이(iframe처럼?) 불러온페이지로 변수값을 넘길수 있다는 뜻인가요? -
라르게덴
2007.12.09 19:05
위의 응용형태로 만든 예 입니다.
http://animeclub.dnip.net/zb5/xe/index3.htm
링크된 방식처럼 페이지가 리플레쉬 되지 않고 같은 도메인내의 다른 주소의 파일 등의 정보를 출력하는 겁니다.
이를 사용하여 페이지모듈에서 매개변수 등의 처리도 별도의 일반페이지(제로XE와 관계없는)를 만들어 그쪽에서
처리해서 결과를 페이지모듈내에 출력해서 마치 페이지모듈에서 동작하는것처럼(?) 표현하는 거지요... -
leeple
2007.12.09 23:51
친절한 답변 감사합니다.
제대로 이해했는지 모르겠지만, 이걸이용하면 기존에 만들어 놓은 타솔루션의 데이터이용도 가능하다. 인것같은데요.
그럼, 타솔루션으로의 데이터 등록,수정,삭제도 페이지를 만들어서 연결시키면 XE페이지모듈내에서 가능해 지는 건가요?
답변 부탁드립니다. -
라르게덴
2007.12.10 09:49
XMLHttpRequest 의 조건은 같은 도메인 내 입니다.
타 솔루션은 rss나 문자열을 뽑아서 보여주거나 해야겠고요...
기타 궁금하신건 쪽지로 물어봐주세요 ^^ -
SensePlus1
2007.12.12 00:50
아직까지 실력이 여기까지는 아니지만, 나중에 아주 유용하게 써 먹을꺼 같은 생각이 드네요.
감사합니다.
퍼갈께요~ -
도토리나무
2007.12.14 14:52
잘 사용하겠습니다.
^^
제목 | 글쓴이 | 날짜 |
---|---|---|
팁이라긴.. 약하지만;; Trac을 이용한 최신버전을 다운로드 받자!! [3] | 동균84 | 2007.11.26 |
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] | 팔공산 | 2007.11.27 |
google base 사용기. | font | 2007.11.29 |
메뉴에 이미지버튼 사용하기 [11] | 정낙훈(xynex) | 2007.11.29 |
(포인트) 선물하기 [9] | Simulz | 2007.11.30 |
위젯배경이미지방 오픈했습니다. [2] | 팔공산 | 2007.12.03 |
날씨배너입니다. [4] | LooK782 | 2007.12.03 |
움직이는 이모티콘 모음입니다. [4] | 범피디 | 2007.12.04 |
외부페이지에서 매개변수 사용가능하도록 하는 방법 [12] | 라르게덴 | 2007.12.05 |
XE 설치 진행 후 다시 첫 화면으로 넘어갈때 [2] | longkee | 2007.12.06 |
익명게시판 - 문제가 아직 많습니다. (다시 수정) [11] | 올챙이 | 2007.12.06 |
배경이미지 만드는 방법입니다. | 팔공산 | 2007.12.06 |
그림자 박스 만들기.. [3] | 소마세월 | 2007.12.07 |
음악플레이기 3종세트 설치 방법(수정) [25] | 팔공산 | 2007.12.10 |
top 메뉴를 만들어보자 - layout에서 topmenu 항목만들기 [6] | SensePlus1 | 2007.12.11 |
로그인 안되서 files 폴더 지우셨던 분들!! [3] | 율랑 | 2007.12.11 |
외부페이지 사용법 [8] | 길치객 | 2007.12.11 |
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] | 길치객 | 2007.12.12 |
Layout.html 화일의 SEC(순서도)도를 그려봤습니다. [9] | SensePlus1 | 2007.12.14 |
ㅎㅎ, 이곳에도 Html 적용이 되네요. [3] | 눈과비 | 2007.12.14 |