써먹는 웹개발

[Js] window 함수 중에 open과 close 본문

웹개발/Js & Jquery

[Js] window 함수 중에 open과 close

kmhan 2019. 9. 19. 11:08


728x90
반응형

1. window.open() 
 - 설명 : 팝업을 호출한다.
 - 예시

// 상세팝업 호출 
function popupDetail() { 
 var top = null; 
 var left = null; 
 var popWidth = 1600; //screen.availWidth - 200; // 635; 
 var popHeight = 800; // 395; 
 var src = "/popupTest.xml"; 

 var newTop = Pop.getNewWindowTop(top, popHeight); 
 var newLeft = Pop.getNewWindowLeft(left, popWidth); 

 objPopup = window.open(pop_base + src, 'searchPop', 'top='+ newTop +',left='+ newLeft 
  +',height='+ popHeight +',width='+ popWidth 
  +',scrollbars=yes,resizable=no,status=no,toolbar=no,menubar=no,location=no,directories=no'); 
 objPopup.focus(); 
    
 return;


2. window.close() 
 - 설명 : (open할때 가지고 있던 팝업 객체로) 팝업을 닫는다.
 - 예시

objPopup.close();


3. Q) 메인 화면이 닫힐 때 팝업 화면도 닫고 싶어요.
 A) window.onunload 이벤트를 쓰면 됩니다.
 - 예시 (메인 화면에 작성)

function fn_onSubWindowClose(){ 
 objPopup.close(); 
} 


window.onunload = fn_onSubWindowClose; 

4. close 하기전에 주의사항 : window 객체를 프로퍼티에 대입할 때 focus()일때 대입하지 말 것

 - 예시
  1) 잘못된 예

var objPopup; 
objPopup = window.open(...).focus(); 
objPopup.close(); // 에러발생 


  2) 올바른 예

var objPopup; 
objPopup = window.open(...); 
objPopup.focus(); 
objPopup.close(); // 정상작동

 

728x90
반응형


Comments