Artikel-ID: 318382 - Geändert am: Dienstag, 27. September 2005 - Version: 1.8

Die document.open-Methode und Ersetzen funktioniert nicht in Frameset

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie die document.open -Methode mit dem Parameter Ersetzen von einem Frameset aufrufen, wird das Dokument nicht aus dem Verlauf entfernt. Daher, wenn Sie im Navigationsstapel zurückgehen, werden Sie zum vorherigen Dokument zurückgegeben.

Lösung

Installieren Sie das neueste Service Pack für Internet Explorer 6, um dieses Problem zu beheben. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
328548  (http://support.microsoft.com/kb/328548/EN-US/ ) So erhalten Sie das neueste Internet Explorer 6 Service Pack
Die englische Version dieses Updates sollte die folgenden Dateiattribute (oder höher) aufweisen:
   Date         Time      Version        Size       File name
   ------------------------------------------------------------
   27-FEB-2002  12:42:50  6.0.2714.2700  2,754,048  Mshtml.dll
					

Das Update für dieses Problem ist enthalten der "28 März 2002 Kumulativer Patch für Internet Explorer."

Abhilfe

Verwenden Sie eine der folgenden Methoden um dieses Problem zu umgehen:
  • Verwenden Sie die InnerHTML -Eigenschaft, um Abschnitte des Dokuments anstatt Ersetzen aller im Dokument zu ersetzen.
  • Legen Sie die document.location.href -Eigenschaft.
Hinweis : Wenn Sie document.location.replace aufrufen, müssen Sie für jede Seite, die Sie durchsuchen möchten eine Seite einrichten.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt. Dieses Problem wurde erstmals in Internet Explorer 6 Service Pack 1 behoben.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. In Editor eine neue HTML-Datei mit dem Namen "Frameset.htm" erstellen, und fügen Sie dann auf die Datei den folgenden Code hinzu:
    <html>
    <frameset rows = "*,*">
    	<frame name = "frame1" src = "frame1.htm">
    	<frame name = "frame2" src = "frame2.htm">
    </frameset>
    </html>
    					
  2. In Editor eine neue HTML-Datei mit dem Namen Frame1.htm erstellen, und fügen Sie dann zu dieser Datei den folgenden Code hinzu:
    <HTML>
    <BODY>
    <script language="javascript">
    function Replace()
    {
      top.frame2.document.open("text/html","replace");
      top.frame2.document.writeln("...is gone (document.open)");
      top.frame2.document.close();
    }
    
    function Workaround1()
    {
      top.frame2.document.location.replace("frame2a.htm");
    }
    
    function Workaround2()
    {
      top.frame2.document.body.innerHTML="...is gone";
    }
    </script>
    Repro<br>
    
    <button onclick= "Replace()">document.open(.., "replace")</button>
    <br><br>
    Workarounds<br>
    <button onclick= "Workaround1()">document.location.replace workaround</button>
    <br><br>
    <button onclick= "Workaround2()">innerHTML workaround</button>
    </BODY>
    </HTML>
    					
  3. In Editor eine neue HTML-Datei mit dem Namen Frame2.htm erstellen, und fügen Sie dann zu dieser Datei den folgenden Code hinzu:
    <HTML>
    <BODY>
    Top Secret Information...
    </BODY>
    </HTML>
    					
  4. In Editor eine neue HTML-Datei mit dem Namen Frame2a.htm erstellen, und fügen Sie dann zu dieser Datei den folgenden Code hinzu:
    <HTML>
    
    <BODY>
    ...is gone.
    </BODY>
    </HTML>
    					
  5. Navigieren Sie zu der Datei Frameset.htm in einer neuen Instanz von Internet Explorer 6.0.
  6. Klicken Sie auf erste, um Document.open(.., "replace") aufrufen. Beachten Sie, dass der Rückwärtspfeil aktiviert ist, gibt an, dass die neue Seite nicht dem ersten Verlaufseintrag ersetzt. Klicken Sie auf zurück , um die vorherige Informationen anzuzeigen.
  7. Klicken Sie auf die anderen zwei Schaltflächen, um die Problemumgehungen zu veranschaulichen.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Explorer (Programming)
Keywords: 
kbmt kbhotfixserver kbqfe kbbug kbdhtml kbfix kbie600presp1fix kbnavigation kbie600sp1fix KB318382 KbMtde
Maschinell übersetzter ArtikelMaschinell ü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: 318382  (http://support.microsoft.com/kb/318382/en-us/ )
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.
Retired KB ArticleDisclaimer 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.
 

SPRACHE AUSWÄHLEN