tadarank afiliados

26 setembro, 2007

Iframe com altura automática de acordo com o conteúdo

Opa. Post rápido com código pequeno: Auto-dimensionamento de iframe

Editado por causa de um bug no IE.

Script rápido que muita gente procura e fica brigando com códigos gigantescos.
Atenção: só funciona para iframes do mesmo domínio. De outro domínio dá erro de segurança.


<script type='text/javascript'>
function iframeAutoHeight(quem){
    //by Micox - elmicox.blogspot.com - elmicox.com - webly.com.br  
    if(navigator.appName.indexOf("Internet Explorer")>-1){ //ie sucks
        var func_temp = function(){
            var val_temp = quem.contentWindow.document.body.scrollHeight + 15
            quem.style.height = val_temp + "px";
        }
        setTimeout(function() { func_temp() },100) //ie sucks
    }else{
        var val = quem.contentWindow.document.body.parentNode.offsetHeight + 15
        quem.style.height= val + "px";
    }    
}
</script>

uso no onload do iframe:


<iframe id='ha' src='teste.php' onload='iframeAutoHeight(this)' frameborder='0'></iframe>
Gostou da dica acima? Então clica nos botões de compartilhamento abaixo e me ajude a dica a subir no Google.

14 comentários:

  1. Se tivesse um demo online era melhor ainda. Parabéns pelo novo recurso...

    ResponderExcluir
  2. Mais uma que vai para o del.icio.us Micox. ;P Estava precisando de algo assim para implementar num sistema que estou mexendo. :P

    Abraços

    ResponderExcluir
  3. mico, ali no setTimeout você poderia omitir function(){func_temp()}, trocando por soh func_temp já que nao recebe nenhum argumento, poderia chamar essa função embaixo tb pra evitar codigo extra, mas de qualquer jeito ta muito boa.

    ResponderExcluir
  4. Eu vou é deletar essa parada pois ela parece que não tá funfando não :(

    ResponderExcluir
  5. eu não consegui
    coloquei o código mais não funcionou
    o q deu errado?
    simplismente não funciona
    abraços!

    ResponderExcluir
  6. Olá Will,

    Dá uma lida neste tópico aqui pra ver outras alternativas.

    Qualquer coisa me fala ae.

    ResponderExcluir
  7. Muito bom!
    Estava procurando igual uma doida exatamente isso! Funciona redondinho!

    =* brigada!

    ResponderExcluir
  8. Não funciona... alguem testou essa parada?Testei em varios navegaores e e nada

    ResponderExcluir
  9. Funciona certinho no IE, mas quando testo no Mozila a página não carrega o texto da minha página que abre no iframe. O que posso fazer?

    ResponderExcluir
  10. te amoooooooooo !!! vlw meu querido... funcionou em tds os navegarores

    ResponderExcluir
  11. Testado. Totalmente funcional.

    Navegadores usados:

    Internet Explorer: 8.0.6001.18702
    Firefox 3.6.x: 3.6.15
    Firefox 4.x: 4.0
    Chrome: 10.0.648.151

    Grato pela ferramenta muito útil.

    ResponderExcluir
  12. Funcionou aki somente no IE9...

    ResponderExcluir
  13. Funcionou, só não entendi o pq do {{{ id="ha" }}} alguém pode me explicar? sou novatão nos paranaue...

    ResponderExcluir

Resultado! Concursos