BUG: window.closed 속성은 잘못된 값을 반환합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 241109 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

현상

window.closed 속성은 window.open 호출 및 부모 사용하여 자식 창에 부모 창이 열리거나 자식 자식 또는 부모 창을 각각 닫힌 때 알아야 할 때 사용됩니다.

opener 속성은 현재 열려 있는 창의 참조합니다 (window.open 메서드를 호출 사용). 자식 창 opener.closed 속성을 확인할 때 해당 부모 열려 있고 그렇지 않으면, 즉 반환된 값을 True로 설정하면 반대입니다 때 false 입니다.

부모 자식 창이 닫힌된 속성을 사용하여 자식 창에 상태를 확인할 때 같은 잘못된 결과가 반환됩니다.

해결 방법

자식 해결 방법은 부모가 자식 창에 부모 창이 올바른 상태를 유지하는 변수를 설정해야 합니다. 다음 자식 opener.closed 속성 대신 이 변수를 사용합니다.

해결 방법은 부모 자식 창이 닫힌된 속성을 부정하기 것입니다. 더 안전한 및 권장 이후 버전의 Internet Explorer가 이 문제가 해결될 경우 논리를 중단 있지 않는 것을 보장하기 위해 자식 창에 대한 동일한 논리를 사용할 수 있습니다.

버그 및 문제를 해결하는 방법을 보여 주는 HTML 코드입니다.
  1. 로 Parent.htm 다음 파일을 저장합니다:
    <html>
    <head>
    <script>
    var childWin;
    var childOpen = false;
    </script>
    </head>
    <body BGCOLOR="white">
    <input type="button" value="Open Child" id="button1" name="button1" onclick="OpenChild()" >
    <p>
    <input type="button" value="Is Child Open(Bug)?" id="button2" name="button2" onclick="alert(childWin.closed)">
    <p>
    <input type="button" value="Is Child Open(Fix)?" id="button3" name="button3" onclick="alert(childOpen)">
    <script>
    function OpenChild()
    {
    	childWin = window.open ("Child.htm")
    	childOpen = true;
    }
    function UpdateChild()
    {
    	//Only if child window is still open, set the parentOpen property
    	if (childOpen == true)
    	{
    		childWin.parentOpen = false
    	}
    }
    window.onunload = UpdateChild;
    </script>
    </body>
    </html>
    					
  2. 로 Child.htm 다음 파일을 저장합니다:
    <html>
    <head>
    <script>
    var parentOpen = true
    </script>
    </head>
    <body BGCOLOR="white">
    <input type="button" value="Is Parent Open(Bug)?" id="button1" name="button1" onclick="alert(window.opener.closed)">
    <input type="button" value="Is Parent Open?" id="button2" name="button2" onclick="alert(parentOpen)">
    
    <script>
    window.onunload = UpdateParent;
    function UpdateParent()
    {
    	//Only if the parent is open, update the status of the child window
    	if (parentOpen)
    	{
    		window.opener.childOpen = false;
    	}
    }
    </script>
    </body>
    </html>
    					
  3. Parent.htm로 이동한 다음 자식 창을 열려면 자식 열기 단추를 클릭하십시오.
  4. 버그를 재현하는 및 수정 프로그램을 테스트할 수 있는 자식 창을 닫으면 전후에 Is 자식 열기 단추를 클릭하십시오. 또는 전에 및 테스트를 위한 부모 창을 닫은 후에 Is 부모 열기 단추를 클릭하십시오.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 제품에서 이 문제를 확인했습니다.

참조

Microsoft Internet Explorer 용 웹 기반 솔루션을 개발하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep
(c) Microsoft의 1999년, 예약 모든 권한. Kusuma Vellanki, Microsoft Corporation에 의해 기고물입니다.

속성

기술 자료: 241109 - 마지막 검토: 2006년 5월 11일 목요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 서비스 팩 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer (Programming) 6.0
키워드:?
kbmt kbbug kbdhtml kbdocfix kbfaq kbpending KB241109 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com