Ir para conteúdo

POWERED BY:

Arquivado

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

gmmascarin

iFrame Dinâmico

Recommended Posts

Bom dia

 

Estou exibindo um relatório dentro de um iframe criado dinâmicamente. Gostaria que após o carregamento do meu iframe exibisse uma mensagem avisando que o relatório foi carregado. Utilizei o evento onload do javascript, mas não funcionou. Talvez eu tenha feito errado. Segue o código. Por favor, me ajudem.

 

function construirIframe(source){  
   var iframe = document.createElement("iframe");  
    iframe.setAttribute("id","frameRelatorio");  
    iframe.setAttribute("name","frameRelatorio");  
    iframe.setAttribute("width","100");  
    iframe.setAttribute("height","100");  
    iframe.setAttribute("border","1");  
    iframe.onload="new function(){document.getElementById('info').innerHTML='Carregado'}";  //AQUI PARECE NÃO FUNCIONAR. Já tentei emitir alert('carregado') e também não funcionou  
    iframe.setAttribute("src", source);  
    document.forms[0].appendChild(iframe);  
    window.frames['frameRelatorio'].name="frameRelatorio";  
}  

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
 iframe.onload = function(){document.getElementById('info').innerHTML='Carregado'}; 

sem as aspas

Compartilhar este post


Link para o post
Compartilhar em outros sites

 iframe.onload = function(){document.getElementById('info').innerHTML='Carregado'}; 

sem as aspas

 

William, fiz a alteração e deu certo, entretanto a mensagem é exibida antes do carregamento total da página. Por favor, você saberia me dizer como fazer isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta... vamos pensar.. o objeto iframe foi carregado, mas o conteudo dele ainda não.

 

para esperar um documento carregar, você precisa disparar no evento

 

window.onload

 

então, você precisa disparar no window.onload do iframe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian,

 

Desculpa minha falta de conhecimento, mas como faço para disparar no window.onload do iframe?

 

Tentei o seguinte:

iframe.window.onload=function(){document.getElementById('info').innerHTML='Carregado'};

sem sucesso

 

document.getElementById("frameRelatorio").onload=new function(){alert('hey');};

também sem sucesso

 

Mais uma vez obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

não duplique a dúvida no fórum, pois conta como Post UP!, que vai contra as regras:

http://forum.imasters.com.br/index.php?app=core&module=help

 

 

Exclui o outro tópico, e deixarei prosseguir este aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, tô meio sem tempo de testar.. mas essa mensagem você quer exibir no documento pai ? ou no iframe ?

 

no caso, o window.onload deve ficar no iframe.

 

 

 

para apartir do pai, acessar uma função dentro do iframe, é assim:

http://wbruno.com.br/blog/2011/05/27/acessar-funcao-de-um-iframe-apatir-documento-pai/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian

 

Li o artigo, mas não consegui resolver o problema. O onload continua sendo chamado antes do término do carregamento do pdf.

 

Estou fazendo uma tela de emissão de relatório. Toda vez que o usuário clica no botão "emitir relatório", um servlet que retorna pdf é carregado dentro do iframe. Preciso que seja exibido a mensagem "Carregando..." dentro da janela Pai enquanto o servlet está sendo processado e essa mensagem deverá desaparecer assim que tiver concluído a emissão do relatório no iframe.

 

Valeu

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.