2012-07-18 3 views
0

open에 상관없이 브라우저 창을 닫고 싶습니다. 자바 스크립트에 대한 새로운 그래서 자바 스크립트를 사용하여 아래의 논리를 만드는 데 도움이됩니다. 내 자바 스크립트 코드는 여기에 있습니다 :자바 스크립트 열기 및 닫기

if (myWindow.open() == true) { 
    myWindow.close(); 
} else { 
    myWindow=window.open('http://index.html', 
         'popUpWindow', 
         'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes' 
         ); 
} 

답변

0

속성을 사용하여 창 상태를 확인하지만 먼저 창 개체가 만들어 졌는지 여부를 확인하십시오.

var myWindow=null; 
if (myWindow && !myWindow.closed) { //exist and is not closed 
    myWindow.close(); 
    myWindow=null; //delete the object 
} else { //not exist or is closed 
    myWindow=window.open('http://index.html', 
         'popUpWindow', 
         'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes' 
         ); 
} 
0

는 그래, 난

if (!myWindow.closed) { 
    myWindow.close(); 
} 

더 크리스토프

주에 동의 : 위의와 브라우저 별 차이가 있습니다.Javascript (via window.open())과 함께 창을 연 경우에는 해당하는 경우 참조가있는 경우 자바 스크립트로 창을 닫을 수 있습니다. Firefox는 다른 창을 닫지 못하도록합니다. IE는 사용자에게 확인을 요청할 것입니다. 다른 브라우저는 다를 수 있습니다.

+0

해당 없음 –

+0

어떤 브라우저를 사용하고 있습니까? –

0

당신은 올바른 결과에 가깝습니다. (open()는 또 다른 창이 열립니다하고 검사가 실패 할 것이기 때문이다.)

(myWindow.closed === false) // same as (!myWindow.closed) 

대신

(myWindow.open() == true) 

이 또한주의에 대한

는 그냥 쓸 필요가 있음을 확인 index.html 또는 http://sub.yourdomain.tld/index.html인데 http://index.html이 아닙니다.