Neste artigo vamos abordar iframes de tamanho variável, isto é… iframes que se adaptam ao conteúdo. Apesar de o uso de iframes ser desencorajado, principalmente porque confundem os robôs, tornando muito difícil a inclusão do site nos maiores sites de busca, como o google…
Por esta razão, o W3C já não aceita este método como boa prática na programação… por isso fica o alerta, usa iframes apenas em casos em que não haja outra opção (includes por exemplo).
Uma maneira de tornar o iframe “invisivel” aos utilizados é, depois de retirar a borda com o parametro frameboarder, alterar o seu tamanho conforme o conteúdo que seja nele apresentado… desta maneira, não apareceram scroll’s e o iframe vai comportar-se tal como uma página, aumentando e diminuindo de dimensão.
Este código só foi testado em Microsoft Internet Explorer 5.5+, Mozilla Firebird e Netscape 7.
Código:
No <head> do documento colocar: <script language="JavaScript"> <!-- function calcularAltura() { //Calcular a altura da página actual. var the_height= document.getElementById('the_iframe').contentWindow. document.body.scrollHeight; //Alterar a altura do iframe document.getElementById('the_iframe').height= the_height; } //--> </script> No <body>:<iframe width="700" id="the_iframe" onLoad="calcularAltura();" src="http://programatu.wordpress.com/" scrolling="NO" frameborder="0" height="1"> </iframe>
Simples… Este exemplo trabalha com a altura do iframe que é normalmente a variável dinâmica nas páginas, a partir daqui criar para a largura é fácil… fica o desafio
Se este Artigo foi útil, comenta
Dica preciosa!!!
Muito boa mesmo essa dica… so que testei em um dos meus scripts e redimensionou o iframe para a pagina chamada, mas cortou um pedaco da pagina (feita em php) no finalzinho do iframe.
Ótimo artigo… funcionou perfeitamente com os arquivos internos do site. Ex: index.htm
Mas não funcionou com endereço www. Ex: http://programatu.wordpress.com/
Voce tem alguma solução pra isso? Será que eu estou fazendo alguma coisa errada?
Boas Carlos,
Certifica-te que estás a usar o http:// no apontador para o endereço externo, antes do http://www...
Mais logo faço uns testes
testei com http:// e sem… mas não deu certo… depois faz o teste…
valeu…
cara… tentei tambem usar 2 frames na mesma pagina… mas não deu tambem. Voce pode me ajudar?
Show de bola brother!
Dica valiosa… funcionou em 95% dos casos que testei…
Valeu!
Abs,
Lerrys
muito bom camarada…resolveu direitinho meu problema! vlww
Muito bom! Valeu pela dica.
Resolveu com minha dor de cabeça.
Abraço.
Parabéns pela dica, muito boa mesmo. Através dela dei uma incrementada e funcionou em 100% dos casos:
Eu não estava conseguindo variar a altura do meu Iframe de acordo com o conteúdo cadastrado dentro dele. Agora ficou excelente. Está de parabéns.