도로명주소 안내시스템 개발자센터

Tech & Tips 상세보기 | 도로명주소 개발자센터

Tech & Tips

API, DB, 전자지도등 도로명주소를 이용한 기술개발 및 활용팁을 올려주세요

IE에서 팝업API 주소입력 후, opener를 찾지못하여 흰화면에서 동작하지 않을 경우

9088님의 제안

  • 댓글 : 2
  • 조회수 : 1140
  • 추천수 3 +1

2020-02-05

안녕하세요.
IE에서 팝업API 주소입력 후, opener를 찾지못하여 흰화면에서 동작하지 않을 경우
해결방법 공유합니다.

첫번째 방법. document .domain을 명시해준다.
해당 방법은 샘플소스에 주석으로 명시되어있습니다. 
sample.jsp, jusoPopup.jsp 둘다 적용해야 합니다.
// opener관련 오류가 발생하는 경우 아래 주석을 해지하고, 사용자의 도메인정보를 입력합니다. ("팝업API 호출 소스"도 동일하게 적용시켜야 합니다.)
document .domain 〓 "abc.go.kr";  // 이용자의 싸이트 도메인:포트

두번째 방법. 위 방법으로도 안될 경우, window객체에 이름을 지정하고, 이름으로 opener를 재정의해준다.
[Sample.jsp]
...
document .domain 〓 "abc.go.kr";  // 이용자의 싸이트 도메인:포트
function goPopup(){
	// IE에서 opener관련 오류가 발생하는 경우, window에 이름을 명시해줍니다.
	window.name〓"jusoPopup";
	// 주소검색을 수행할 팝업 페이지를 호출합니다.
	// 호출된 페이지(jusopopup.jsp)에서 실제 주소검색URL(http://www.juso.go.kr/addrlink/addrLinkUrl.do)를 호출하게 됩니다.
	var pop 〓 window.open("/jusoPopup.jsp","pop","width〓570,height〓420, scrollbars〓yes, resizable〓yes"); 
}
...

[jusoPopup.jsp]
...
document .domain 〓 "abc.go.kr";  // 이용자의 싸이트 도메인:포트
function init(){
...
}else{
	// IE에서 opener관련 오류가 발생하는 경우, 부모창에서 지정한 이름으로 opener를 재정의
	if(opener 〓〓 null || opener 〓〓 undefined) opener 〓 window.open("", "jusoPopup");
		
	opener.jusoCallBack("<%〓roadFullAddr%>","<%〓roadAddrPart1%>","<%〓addrDetail%>","<%〓roadAddrPart2%>","<%〓engAddr%>","<%〓jibunAddr%>","<%〓zipNo%>", "<%〓admCd%>", "<%〓rnMgtSn%>", "<%〓bdMgtSn%>", "<%〓detBdNmList%>", "<%〓bdNm%>", "<%〓bdKdcd%>", "<%〓siNm%>", "<%〓sggNm%>", "<%〓emdNm%>", "<%〓liNm%>", "<%〓rn%>", "<%〓udrtYn%>", "<%〓buldMnnm%>", "<%〓buldSlno%>", "<%〓mtYn%>", "<%〓lnbrMnnm%>", "<%〓lnbrSlno%>", "<%〓emdNo%>");
	window.open("about:blank", "_self").close();
}
...

이상입니다.
더 좋은방법 있으면 함께 공유해요~

댓글쓰기

댓글쓰기

댓글2

해당내용을 본문에 적용하도록 하겠습니다. 정보공유 감사합니다.
window.open('', '_self', '');
를 사용하니 새로운 창이 하나 더 뜨면서 404에러 페이지가 나타나서 변경해보았습니다.
window.open("about:blank","_self").close();
를 사용하니 정상적으로 잘 작동되네요
참고하시면 좋을것 같습니다