Ir para conteúdo

POWERED BY:

Arquivado

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

oprogramador2012

Manipular Iframes

Recommended Posts

Salve feras do Javascript,

estou quebrando a cabeça com o seguinte!

 

Tenho uma página com iframe assim:

 

(Index.html)

<html>
<head>
<script>
function abrir()
{
    alert('Funcionou fora do iframe!');
}
</script>
</head>
<body>

<iframe src="conteudo.html"></iframe>

</body>
</html>

 

E a página do iframe assim:
(conteudo.html)
<html>
<body>

<a href="javascript:void(0);" onclick="abrir();">Clique aqui</a>

</body>
</html>

 

gostaria que quando clicasse no link (que está dentro do iframe), ele alertasse o javascript na página principal (index.html)
Favor gente, me dar uma luz!
abraços!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde sei o conteúdo do iframe (conteudo.html), só vai ler o que está dentro dele.

Você poderia colocar a função dentro do conteudo.html ou você pode usar PHP para importar o conteudo.html dentro do index.html (que no caso teria que ser index.php).

 

Se há um jeito de manipular pela página pai já não sei te dizer :s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode referenciar o conteúdo da página principal usando 'parent'.

Tenta parent.abrir() no iframe. Se não funcionar, dá uma procurada pelo uso correto do parent que deve resolver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode referenciar o conteúdo da página principal usando 'parent'.

Tenta parent.abrir() no iframe. Se não funcionar, dá uma procurada pelo uso correto do parent que deve resolver.

 

Eu até ja tinha feito isso mas tbm n funcionou :/

 

Será q tem como fazer isso mesmo? sinto as vezes q seja impossível!

 

qm puder me ajudar fico grato!

 

abçs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu até ja tinha feito isso mas tbm n funcionou :/

 

Será q tem como fazer isso mesmo? sinto as vezes q seja impossível!

 

qm puder me ajudar fico grato!

 

abçs!

 

POR ACASO você está testando localmente? no chrome? sem usar um easyPHP/wamp/apache da vida?

 

Porque se a "página" que você está acessando aparece na barra de endereços tipo assim: //file/users/algumacoisa.html, o chrome NÃO deixa o iframe acessar a parent. Ele acha que estão em domínios diferentes e aplica as regras de segurança.

Compartilhar este post


Link para o post
Compartilhar em outros sites

POR ACASO você está testando localmente? no chrome? sem usar um easyPHP/wamp/apache da vida?

 

Porque se a "página" que você está acessando aparece na barra de endereços tipo assim: //file/users/algumacoisa.html, o chrome NÃO deixa o iframe acessar a parent. Ele acha que estão em domínios diferentes e aplica as regras de segurança.

 

Era isso mesmo meu velho.. vc falou certo!

Eu estava testando em browser e não rodando no apache.

Rodei no apache e funcionou!

 

Será q funciona em todos os navegadores esse esquema do javascript?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Todos os navegadores tem certa restrição quando se tenta acessar um frame (ou acessar o parent).

 

Quando os dois estão no mesmo domínio (isto é, no mesmo site), tudo funciona.

Quando os dois estão em domínios diferentes, o navegador não deixa.

 

Isso é pra evitar que tipo, você faça uma pishing de uma página de banco dentro de um iframe e use um script na parent pra acessar os dados de formulário e talz (por exemplo).

 

O problema em questão é que quando você está rodando localmente sem apache, SEI LÁ PORQUE o chrome acha que as páginas NÃO estão no mesmo domínio, e consequentemente trava a conexão do frame com o parent.

 

No IE funciona de boa (mas ele vai pedir permissão com aquela barrinha dele).

 

No Mozilla eu não sei dizer, rs

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.