O método com substituição document.open não funciona no conjunto de quadros

ID do artigo: 318382 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Nesta página

Sintomas

Quando você chama o método document.open com o parâmetro Substituir de um conjunto de quadros, o documento não é removido do histórico. Portanto, se você voltar na pilha de navegação, são retornados para o documento anterior.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para o Internet Explorer 6. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
328548Como obter o Service Pack mais recente do Internet Explorer 6
A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
   Date         Time      Version        Size       File name
   ------------------------------------------------------------
   27-FEB-2002  12:42:50  6.0.2714.2700  2,754,048  Mshtml.dll
					

A atualização para esse problema está incluída no "28 de março de 2002 patch cumulativo para o Internet Explorer."

Como Contornar

Para contornar este problema, use um dos seguintes métodos:
  • Use a propriedade innerHTML para substituir seções do documento em vez de substituir o documento inteiro.
  • Defina a propriedade document.location.href .
Observação : se você chamar document.location.replace , você deve configurar uma página para cada página que você deseja procurar.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Internet Explorer 6 Service Pack 1.

Mais Informações

Passos para reproduzir o problema

  1. No bloco de notas, crie um novo arquivo HTML (Hypertext Markup Language) chamado Frameset.htm e adicione o seguinte código para o arquivo:
    <html>
    <frameset rows = "*,*">
    	<frame name = "frame1" src = "frame1.htm">
    	<frame name = "frame2" src = "frame2.htm">
    </frameset>
    </html>
    					
  2. No bloco de notas, crie um novo arquivo HTML denominado Frame1.htm e adicione o seguinte código para esse arquivo:
    <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. No bloco de notas, crie um novo arquivo HTML denominado Frame2.htm e adicione o seguinte código para esse arquivo:
    <HTML>
    <BODY>
    Top Secret Information...
    </BODY>
    </HTML>
    					
  4. No bloco de notas, crie um novo arquivo HTML denominado Frame2a.htm e adicione o seguinte código para esse arquivo:
    <HTML>
    
    <BODY>
    ...is gone.
    </BODY>
    </HTML>
    					
  5. Procure o arquivo Frameset.htm em uma nova instância do Internet Explorer 6.0.
  6. Clique no botão para chamar document.open(.., "replace") primeiro. Observe que na seta Voltar está habilitada, o que indica que a nova página não substituiu a primeira entrada de histórico. Clique em Voltar para ver as informações anteriores.
  7. Clique nos outros dois botões para demonstrar as soluções alternativas.

Propriedades

ID do artigo: 318382 - Última revisão: terça-feira, 27 de setembro de 2005 - Revisão: 1.8
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer (Programming)
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbbug kbdhtml kbfix kbie600presp1fix kbnavigation kbie600sp1fix KB318382 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 318382
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários