Manipular DIVs e Executar Funções Fora do Iframe

Pessoal, mesmo usando Iframes em situações muito específicas (mas muito mesmo!), vou dar duas dicas bem úteis para manipular alguma div ou chamar alguma função da janela Pai, ou seja, que não esteja dentro do Iframe e sim na janela da qual o Iframe faz parte.

Atenção: Estas dicas pressupõe que o Jquery esteja sendo incorporado dentro do Iframe.

Dica 1 (Manipulando DIV na janela Pai): Vamos supor que você tenha uma div na janela Pai de id “div_do_frame” deva “sumir” (display: none) da página Pai, mas a chamada para esta mudança deva acontecer automaticamente dentro do Iframe, então…

<script>
	$(document).ready(function(){
		$('#div_do_frame', window.parent.document).css('display','none');
	});
</script>

Dica 2 (Chamando Função na janela Pai): Vamos supor que você tenha uma função declarada na janela Pai chamada “AtualizaPagina()” a qual é responsável por atualizar a janela Pai, mas esta função deverá ser chamada dentro do Iframe, então…

<script>
	$(document).ready(function(){
		window.parent.AtualizaPagina();
	});
</script>

Vale lembrar que nestas duas dicas os eventos ocorrem de forma automática, mas podem ser mudados dependendo de suas necessidades.

É isso… Abraço!

Sobre Guilherme Mattje

Desenvolvedor Web

Publicado em 21/09/2011, em CSS, JavaScript, Linguagens e marcado como , , , , . Adicione o link aos favoritos. 8 Comentários.

  1. Valeu me ajudou pakas!!!

  2. isso que eu precisava .. window.parent.document

    Cara vc foi demais igual queijo com goiabada vlw mesmo

  3. Show de bola…. Tava precisando disso mesmo!!

  4. Tenho a seguinte situação, como faria para acessar o span Right1 de dentro do iframe ?

  5. Klaylton Fernando

    Guilherme, estou tentando ocultar uma div onde é exibida uma publicidade, já tentei de várias maneiras, porém não conseguir, você poderia dar uma conferida e ver onde estou errando:

    Teste iFrame

    http://apps.pixlr.com/express/

    $(document).ready(function(){
    $(“#pixlr”).load(function(){
    $(“#pixlr”).contents().find(“#ad-wrap”).css(“display”,”none”);
    });

    });

Deixe um comentário