웹마스터 팁
외부페이지에서 매개변수 사용가능하도록 하는 방법
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
잘 사용하겠습니다.
^^
제목 | 글쓴이 | 날짜 |
---|---|---|
배경이미지기능으로 페이지꾸미기
[3]
![]() | 팔공산 | 2007.11.23 |
윈도우 라이브 메신저를 홈페이지 서명난에 달자
[1]
![]() | Diver | 2007.11.26 |
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] | 팔공산 | 2007.11.27 |
(회원정보) 보기 페이지에서 포인트 변경하기
[4]
![]() | Simulz | 2007.11.28 |
google base 사용기. | font | 2007.11.29 |
위젯배경이미지방 오픈했습니다.
[2]
![]() | 팔공산 | 2007.12.03 |
[동영상 강좌2] zbxe 페이지 생성과 기능 설명
[45]
![]() | 필반 | 2007.12.03 |
실시간 날씨를 불러오는 박스 입니다.
[13]
![]() | 범피디 | 2007.12.03 |
움직이는 이모티콘 모음입니다.
[4]
![]() | 범피디 | 2007.12.04 |
"파일첨부"가 클릭이 안되시는 분 보셔요. [11] | 최강협 | 2007.12.04 |
외부페이지에서 매개변수 사용가능하도록 하는 방법 [12] | 라르게덴 | 2007.12.05 |
[수정] 최근 이미지 추출에 new 이미지 등이 나타나게 하기... [5] | 비나무 | 2007.12.09 |
음악플레이기 3종세트 설치 방법(수정)
[25]
![]() | 팔공산 | 2007.12.10 |
로그인 안되서 files 폴더 지우셨던 분들!!
[3]
![]() | 율랑 | 2007.12.11 |
권한없는 모듈을 만났을때 로그인 페이지 띄우기.. [10] | 똑디 | 2007.12.11 |
외부페이지 사용법 [8] | 길치객 | 2007.12.11 |
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] | 길치객 | 2007.12.12 |
페이지가 갑자기 하얀화면으로 나올경우에는 이렇게 해보십시오.
[9]
![]() | 하나로45 | 2007.12.13 |
IP대역에 따라 다른 페이지 보여주기 [1] | 지연아빠 | 2007.12.20 |
IE Toy 사용시 ''페이지'', ''외부페이지'' 차단되네요... [2] | 폭풍의 전야 | 2007.12.22 |