Pergunta

Estou exibindo páginas de um site externo (que eu próprio) em um iframe em uma das minhas páginas. É tudo bem, exceto quando visto em Opera com o tamanho da janela do navegador reduzida (não widescreen), quando os psiquiatras iframe e esmaga o conteúdo. Ele funciona em widescreen (janela do navegador de maximização), e é OK no IE7, Firefox, Chrome e Safari em maximizar e tamanho da janela reduzida. Tenho definir as dimensões do quadro no HTML e ter aninhados a iframe em um div que é maior do que o iframe através do css.

Este é um bug peculiar a Opera ou há algo que eu possa fazer sobre isso?

Foi útil?

Solução

Nós tivemos um problema semelhante com dimensionamento iframe na nossa página web app, embora no IE6. A solução foi para interceptar o evento window.onresize e chama uma função JavaScript para apropriadamente o tamanho iframe. content é o nome do iframe queremos porte. Observe também que estamos usando $get do ASP.Net AJAX que se traduz em document.getElementById()

window.onresize=resizeContentFrame;
resizeContentFrame();

function resizeContentFrame() {
    setFrameHeight($get('content'));
}

function setFrameHeight(f) {
    if(isDefined(f)) {
        var h=document.documentElement.scrollHeight;
        h-=(HEADER_HEIGHT+CONTENT_PADDING+5);
        f.style.height=h+'px';
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top