O iFrame não pode acessar as janelas pai no JavaScript

Escrito por kevin lee | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
O iFrame não pode acessar as janelas pai no JavaScript
Exiba uma página web dentro de outra usando iFrames (Comstock/Comstock/Getty Images)

Os iFrames funcionam como páginas web em miniatura que você pode redimensionar e colocar na sua página principal. Eles são úteis para fazer com que uma página mostre outro site ou conteúdo de um documento HTML localizado no seu próprio servidor. Ao adicionar um iFrame à sua página, ela funcionará como a janela pai e o iFrame será o filho. Se o iFrame não puder acessar o pai, você deverá alterar o código para que não viole as restrições de segurança do navegador.

Outras pessoas estão lendo

Relações pai-filho dos iFrames

O seguinte código mostra uma relação pai-filho entre uma página e um iFrame dentro dela:

<h1>Este é o meu iFrame </h1> <iframe src="um_URL"> <p>Navegador não suportado</p> </iframe>

A etiqueta <h1> colocará um cabeçalho na página web pai e a etiqueta <iframe> fará com que o iFrame apareça embaixo dele. O atributo "src" do iFrame apontará para a URL da página que aparecerá dentro do iFrame quando alguém vir a página em um navegador. O parágrafo final contém o texto que os usuários verão se seus navegadores não suportarem iFrames. Adicione mais iFrames a uma página pai, se for necessário, criando mais etiquetas <iframe>.

Domínios de internet

Toda página web na internet reside em um domínio. Um domínio é o nome de nível principal que aparece na barra de endereço de um navegador. Se a URL do seu site for "meusite.com.br", você poderá adicionar várias páginas ao seu servidor dentro do mesmo domínio, como por exemplo:

meusite.com.br/Pagina1.html meusite.com.br/Pagina2.html

"Pagina1.html" e "Pagina2.html" estão no mesmo domínio. Se você tiver outro site com a URL "outrosite.com.br", as páginas dele residirão em um domínio diferente.

Restrições do nome de domínio em um iFrame

As páginas de um iFrame que residem em um domínio não podem acessar os objetos que se encontram em páginas de outro nome de domínio. Se isso fosse possível, os usuários da internet poderiam realizar muitos ataques perigosos. Um criminoso cibernético, por exemplo, poderia usar uma técnica chamada "Cross Site Scripting" para manipular os conteúdos em um iFrame e, talvez, ler informações privadas. Os navegadores lhe impedem de escrever códigos que possibilitem que um iFrame se comunique com a página pai se estiverem em domínios diferentes.

Considerações

A restrição do nome de domínio não será um problema se você usar iFrames para incluir conteúdo de sites que não são da sua propriedade. Adicione um iFrame que aponte para o site da Casa Branca, por exemplo, e você não poderá alterar nenhum código HTML no servidor. Se você precisar colocar em iFrames conteúdo de páginas da sua propriedade, certifique-se de que as páginas estejam no mesmo domínio. Caso contrário, você não poderá fazer com que o iFrame se comunique com a janela pai.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível