Fehler: window.closed-Eigenschaft gibt falsche Werte zurück

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 241109 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Die Eigenschaft window.closed wird verwendet, wenn ein übergeordnetes Fenster öffnet ein untergeordnetes Fenster window.open Aufruf mit der übergeordneten oder untergeordneten muss wissen, wenn das Fenster untergeordnete oder übergeordnete bzw. geschlossen wurde.

Die Eigenschaft Opener bezieht sich auf das Fenster, die der aktuellen Folie geöffnet (mit window.open -Methodenaufruf). Wenn das untergeordnete Fenster die opener.closed -Eigenschaft überprüft, ist es false, wenn das übergeordnete Element geöffnet ist und true andernfalls, d. h. der zurückgegebene Wert ist umgekehrt.

Wenn das übergeordnete Objekt des untergeordneten Fensters mithilfe des untergeordneten Fensters geschlossen-Eigenschaft Statusüberprüfungen, werden die gleichen falsche Ergebnisse zurückgegeben.

Lösung

Die Problemumgehung für das untergeordnete Element ist das übergeordnete Objekt eine Variablen im Fenster untergeordnete festgelegt, der den richtigen Status des übergeordneten Fensters verwaltet. Die untergeordneten verwendet dann diese Variable anstelle der opener.closed -Eigenschaft.

Problemumgehung für die übergeordnete besteht darin, geschlossene-Eigenschaft des untergeordneten Fensters negieren. Es ist sicherer und empfohlene dieselbe Logik wie für das untergeordnete Fenster verwenden, um sicherzustellen, dass die Logik nicht beeinträchtigen, wenn dieses Verhalten in einer späteren Version von Internet Explorer behoben ist

Der folgende HTML-Code veranschaulicht den Fehler und wie Sie das Problem umgehen.
  1. Speichern Sie die folgende Datei als 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. Speichern Sie die folgende Datei als 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. Navigieren Sie zu Parent.htm, und klicken Sie auf Untergeordnete öffnen , um das untergeordnete Fenster zu öffnen.
  4. Klicken Sie auf die Untergeordnete öffnen ist Schaltflächen, vor und nach dem Schließen des untergeordneten Fensters zum Reproduzieren des Fehlers und Testen das Update. Alternativ klicken Sie auf die Übergeordnete öffnen ist Schaltflächen vor und nach dem Schließen des übergeordnete Fenster für das Testen.

Status

Microsoft hat bestätigt, dass dies einen Fehler in den Microsoft-Produkten ist, die im Abschnitt "Gilt für" aufgeführt sind.

Informationsquellen

Finden Sie weitere Informationen zum Entwickeln von webbasierten Lösungen für Microsoft Internet Explorer auf der folgenden Microsoft-Websites:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep
(c) 1999 Microsoft Corporation, alle Rechte vorbehalten. Beiträge von Kusuma Vellanki, Microsoft Corporation.

Eigenschaften

Artikel-ID: 241109 - Geändert am: Donnerstag, 11. Mai 2006 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer (Programming) 6.0
Keywords: 
kbmt kbbug kbdhtml kbdocfix kbfaq kbpending KB241109 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 241109
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

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