0Pricing
HTML Academy · Aula

O elemento iframe: src e sandbox

Incorpore páginas de terceiros e restrinja seus recursos.

O elemento iframe: src e sandbox é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

O que é um iframe?

O elemento <iframe> incorpora outro documento HTML na página atual. Cada iframe tem seu próprio contexto de navegação, DOM e escopo de JavaScript. O conteúdo dentro de um iframe não pode acessar o DOM da página pai sem permissão explícita.

Uso básico de iframe

Defina o atributo src como a URL a ser incorporada: <iframe src="https://example.com" width="800" height="600">. O iframe cria um novo contexto de navegação. O atributo title é obrigatório para acessibilidade: title="Embedded map".

O atributo sandbox

sandbox aplica restrições ao conteúdo do iframe: desativa scripts, formulários, pop-ups e plug-ins por padrão. Adicione permissões específicas para restaurar capacidades: sandbox="allow-scripts allow-same-origin".

Permissões do sandbox

allow-scripts: ativa o JavaScript. allow-same-origin: permite que o iframe seja tratado como da mesma origem (necessário para acessar localStorage). allow-forms: permite o envio de formulários. allow-popups: permite window.open(). Conceda somente o mínimo necessário.

iframes de origem cruzada

iframes de origem cruzada não podem acessar o DOM pai: parent.document gera um erro de segurança. A comunicação entre quadros de origens diferentes usa postMessage: iframe.contentWindow.postMessage(data, origin).

Comunicação com postMessage

Envie mensagens da página pai para o iframe: iframe.contentWindow.postMessage({ type: "update", data: {} }, "https://embed.example.com"). No iframe, escute as mensagens: window.addEventListener("message", handler). Sempre verifique event.origin antes de processar a mensagem.

Carregamento tardio de iframes

loading="lazy" em iframes adia o carregamento até que o iframe esteja próximo da janela de visualização, reduzindo o carregamento inicial da página. É útil para mapas abaixo da área inicialmente visível, vídeos incorporados e widgets de redes sociais que não estão imediatamente visíveis.

Desempenho de iframe

Cada iframe carrega um documento HTML, CSS, JavaScript e recursos separados — um custo significativo de recursos. Evite iframes para conteúdo que poderia ser incorporado como um trecho. Faça o carregamento tardio de iframes abaixo da dobra. Considere padrões de fachada (mostre um espaço reservado e carregue ao clicar).

Controle de rolagem

Controle o comportamento de rolagem do iframe: scrolling="no" desativa as barras de rolagem (obsoleto; use CSS overflow: hidden no iframe). A abordagem moderna é definir a altura do iframe para corresponder à altura do conteúdo, eliminando a necessidade de barras de rolagem internas.

Atributo allow

O atributo allow concede recursos da Política de Permissões ao iframe: allow="camera; microphone; fullscreen". Isso permite que o iframe solicite acesso à câmera, acesso ao microfone e à API de tela cheia, mesmo quando a origem pai não usa esses recursos.

Incorporando YouTube e Maps

YouTube e Google Maps fornecem códigos de incorporação de iframe. Eles incluem atributos allow para tela cheia e reprodução automática. Sempre adicione title="Video title" para garantir a acessibilidade a leitores de tela. O atributo sandbox normalmente não é adicionado aos códigos de incorporação de terceiros — consulte a documentação deles para obter orientações de segurança.

Verificação de conhecimentos

O que o atributo sandbox faz com um iframe, por padrão, quando não tem valores?

Resumo

Os iframes incorporam documentos externos em contextos de navegação isolados. O atributo sandbox restringe os recursos do iframe — conceda apenas as permissões mínimas necessárias. postMessage permite uma comunicação segura entre origens diferentes. O carregamento tardio adia o custo dos recursos de iframes abaixo da dobra. O atributo allow concede recursos da Política de Permissões a incorporações de terceiros confiáveis.

Perguntas Frequentes

A aula “O elemento iframe: src e sandbox” é grátis?

Sim — o texto completo de “O elemento iframe: src e sandbox” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “O elemento iframe: src e sandbox”?

Incorpore páginas de terceiros e restrinja seus recursos. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “O elemento iframe: src e sandbox”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O elemento iframe: src e sandbox
  2. Segurança de iframe: clickjacking e X-Frame-Options
  3. Os elementos embed e object
  4. Carregamento tardio de iframes
← Voltar para HTML Academy