Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

djguina

Problemas com IE6 e IE7 x IFRAME

Recommended Posts

Salve galera...

 

Bom seguinte estou no término de um projeto mas encontrei uma incompatibilidade no IE6 e IE7, vou explicar o meu problema...

 

Tenho um site com 4 <iframe> numa estrutura legal onde o meu <iframe> com id="_center" é auto-ajustável perfeitamente... em quaquer navegador... até aí beleza... porém qnd rolo a tela pra baixo pra visualizar o restante do conteudo e clico em qualquer link que irá abrir dentro do meu "_center" a tela naum sobe... atualiza o "_center" com a pagina desejada e redimenciona o <iframe> mas continuo no local onde estava antes e naum no topo como eu preciso pra ler as informações...

 

O código que encontrei para a solução no FF, Opera e Netscape e que deveria funcionar nos IE é esse:

 

INDEX.HTM

 

</head><body onLoad="tamanho()"><a name="topo" id="topo"></a>

no link que chama a pagina pro frame "_center":

 

 

<a href="_center.htm" target="_center">

nos .HTM que desejo carregar no frame "_center":

 

<script language="JavaScript" type="text/javascript">  parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10;  parent.document.getElementById("topo").focus();</script></body>

Agradeço pois estou maluco... rs...

 

Lembrando que até meus flashs carregam direitinho os meus <iframe>

 

e o site que está o erro é: IDEP - Instituto de Desenvolvimento Profissional

Compartilhar este post


Link para o post
Compartilhar em outros sites

O site tá bacana, parabéns.Sou iniciante, mas talvez ajude.Para mim o caso é que você não definiu a função "tamanho()"Pode ver que tá acusando esse erro tanto no fire quanto no ie quando abre o site.você chama ela no onload mas ela não está definida.Teu escript postado tá assim:<script language="JavaScript" type="text/javascript">parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();</script>Acho que deveria ser assim:<script language="JavaScript" type="text/javascript">function tamanho(){parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();}</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O site tá bacana, parabéns.Sou iniciante, mas talvez ajude.Para mim o caso é que você não definiu a função "tamanho()"Pode ver que tá acusando esse erro tanto no fire quanto no ie quando abre o site.você chama ela no onload mas ela não está definida.Teu escript postado tá assim:<script language="JavaScript" type="text/javascript">parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();</script>Acho que deveria ser assim:<script language="JavaScript" type="text/javascript">function tamanho(){parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();}</script>

Cara brigado pelos comentarios... mas assim... beleza consertou o erro ki tava dando de js e tah dimensionando ainda..rs.. mas ainda sim naum sobe pro topo na pagina na hora ki eu carrego..muito obrigado por ter respondido..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte.Pelo que to vendo você rola a pagina via focus(topo) e acho que esse métdo focus não tá implementado igual no ie, por isso só funciona no fire.Acho que o mais certo seria um scrollTo para rolar até a posição do iframe:<script language="JavaScript" type="text/javascript">function tamanho(){parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();//EM VEZ DISSOwindow.scrollTo(0,0);//TENTA ISSO, pondendo trocar (0,0) por (leftDoIframe,valor_top_do_iframe)}</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte.Pelo que to vendo você rola a pagina via focus(topo) e acho que esse métdo focus não tá implementado igual no ie, por isso só funciona no fire.Acho que o mais certo seria um scrollTo para rolar até a posição do iframe:<script language="JavaScript" type="text/javascript">function tamanho(){parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; parent.document.getElementById("topo").focus();//EM VEZ DISSOwindow.scrollTo(0,0);//TENTA ISSO, pondendo trocar (0,0) por (leftDoIframe,valor_top_do_iframe)}</script>

Cara agradeço d novo... mas ainda nao rolou... to fazendo os testes e upando... a pg ki eu to alterando eh a academia de lideres...EDITANDOSegui a sua ideia.... e consegui resolver...nas paginas ki vao pro <iframe> tenho ki dar um window.scrollTo(0,0) mas como eu to em frame... tenho ki rolar o top ou seja a pag pai....
<script language="JavaScript" type="text/javascript">function tamanho(){parent.document.getElementById("_center").height = document.getElementById("tamanho").scrollHeight + 10; top.window.scrollTo(0,0);}</script></head><body onLoad="tamanho()">
cara muito obrigado mesmo... vllw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.