window.open() 으로 팝업을 호출했을 때 팝업이 부모창 뒤로 숨는 현상 방지

By | 7월 26, 2012

* 문제해결의 요점은 "팝업에 포커스를 준다" 는 것이다.
   그래서 다음과 같이 할 수 있을 듯 하다.

   (1) 팝업페이지의 onload 스크립트에서 다음의 코드 호출

        window.focus();

   (2) 부모페이지의 window.open()의 리턴을 받아서 다음의 코드 호출
          - 그러나 이 코드는 준비되자마자 호출할 수 없고, 팝업의 렌더링 시간을 예측하여 
             적절한 timeout을 설정해야 한다는 문제점이 있다. 실제 실험 결과, 0.1초에서는
             작동하지 않았고, 1초에서는 작동하였다.

var newWin = window.open(...);

  if(window.focus){
  setTimeout(function(){
  newWin.focus();
  }, 1000);
  }

* 참고 링크

   http://stackoverflow.com/questions/4087252/window-open-causes-new-window-to-appear-behind-parent 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments