2011-10-18 2 views
0

나는 내가 필요로 여는 팝업 창을 담당 코드를 발견닫기 팝업 창

function winOpen(theURL, Name, popW, popH, scroll) { // V 1.0 
var winleft = (screen.width - popW)/2; 
var winUp = (screen.height - popH)/2; 
winProp = 
'width='+popW+',height='+popH+',left='+winleft+',t op='+winUp+',scrollbars='+scroll+',' 
    Win = window.open(theURL, Name, winProp) 
    if (parseInt(navigator.appVersion) >= 4){ 
     Win.window.focus(); 
    } 

인가 그것을 가능 여기 기능, 윈도우가 닫힐 때 최선을 다하고 있습니다, 또는 별도 요구하는 것은 포함합니다 함수 호출 어딘가에? html 링크에서 창을 열어 두었습니다.

답변

0

팝업 안에 표시되는 페이지는 bodyonunload 또는 onbeforeunload에 연결된 이벤트 처리기를 가질 수 있습니다 (저는 IE라고 생각합니다). 문서가 을 언로드하면 누가이를 알았습니까?. 언로드 할 문서 안의 링크가 없으면이 이벤트를 창을 닫았다는 표시로 사용할 수 있습니다.

두 번째 가능성 : 워치 독을 추가하십시오.

var watcherID = setInterval(function() 
{ 
    if (Win.closed) 
    { 
    clearTimeout(watcherID); 
    // Do what you have to do. 
    } 
}, 400); 
0

더 읽기 쉽게하려면 들여 쓰기해야합니다. 또한 win.closed을 사용하여 onunload을 닫았는지 확인할 수 있지만 잠시 기다린 후에 http://jsfiddle.net/9PYWj/을 확인하십시오.

function winOpen(theURL, Name, popW, popH, scroll) { // V 1.0 
    var winleft = (screen.width - popW)/2, 
     winUp = (screen.height - popH)/2, 

     winProp = 'width=' + popW 
        + ',height=' + popH 
        + ',left=' + winleft 
        + ',top=' + winUp 
        + ',scrollbars=' + scroll + ',', 

     win  = window.open(theURL, Name, winProp); 

    win.onunload = function() { 
     setTimeout(function() { 
      if(win.closed) { 
       alert(123); 
      } 
     }, 100); 
    }; 

    win.focus(); 
}