본문 바로가기

HTML/Javascript

window.document.domain

Java Script
2007. 11. 2.
안혁
http://hyok.kr


웹 페이지에서 팝업창을 띄울 때에, 일반적으로는 같은 서버의 웹 문서를 띄우겠지만, 규모가 조금 커지는 경우, 역할에 따라 웹 문서들이 다른 서버에 올라가는 경우가 있습니다.
예를 들어 제 홈페이지가 메인은 http://abc.hyok.kr에 웹문서들이 들어있지만, 특정기능은 http://xyz.hyok.kr에 두고, 이를 팝업창으로 보여주는 경우가 있을 수 있겠습니다.  다음과 같이 말이지요.

사용자 삽입 이미지


단순히 창을 띄운 경우는 문제가 되지 않는데, 팝업 창-popup.html에서 어떤 결과를 부모 창-owner.html에 돌려주고 싶은 경우가 있을 수 있지요. 팝업 창이라는 것이 그런 기능을 해야할 때가 많이 있습니다. 회원 가입할 때에 중복 확인 된 아이디가 자동으로 부모창의 ID 적는 칸에 적혀지게 하고 싶다던지 할 때가 있지요. 위의 경우 처럼 서버가 다른 경우, 이것이 기본적으로는 되지 않도록 되어있습니다. 보안에 관련된 사항이지요. 악의적인 자바스크립트가 마치 다른 서버에 있는 내용을 우리가 믿을만한 사이트에서 보여주는 것처럼 나와버리면 위험하지 않겠어요? 그런 이유로 다른 서버에서 불려진 HTML과의 데이터 주고 받기는 안 되도록 되어있습니다.
하지만 아까 말했던 것 처럼 데이터를 돌려주고 싶을 때, 또는 전해주고 싶을 때가 있기 마련이지요. 가능해야 하겠는데, 어떻게 하는지...
다음과 같이 하시기 바랍니다.

window.document.domain="hyok.kr";
vRetval = window.showModalDialog(url,arrParams,......

위 처럼 팝업 창을 띄우기 전에 도메인을 설정하여 주시면 하고 싶었던게 되지요. abc.hyok.kr 이든 xyz.hyok.kr이든지 간에 hyok.kr이 붙어있으면 같은 도메인, 즉 다른 곳이 아니라 같은 곳이니 신뢰해도 좋다는 표시입니다. 신뢰해도 좋으니 보안 위배가 아니죠. 이를 주의하시면 되겠습니다.

'HTML > Javascript' 카테고리의 다른 글

iframe 내부 페이지 변경 이벤트 처리  (0) 2010.01.28
iframe 안에 있는 객체 접근  (0) 2010.01.27
Javascript 쿠키 처리  (0) 2010.01.25