Pular para o artigo

Uma incorporação não carrega

O código de incorporação está na sua página, e o quadro fica vazio, cinza, ou mostrando o “refused to connect” do navegador. Ou o site não aceita ser mostrado ali, ou a sua página não aceita mostrá-lo. O console diz qual dos dois.

Qual lado recusou

Abra a sua página, depois o console do navegador (botão direito, Inspecionar, Console), e recarregue:

  • Uma mensagem que menciona frame-ancestors quer dizer que o site se recusou a aparecer num quadro da sua página: são as duas próximas seções.
  • Uma que menciona frame-src, child-src ou default-src quer dizer que a sua página se recusou a mostrar o site num quadro, por causa da Content Security Policy dela. Essa é a última seção.

O site tem uma porta de entrada

Um site com senha, só para convidados ou Privado, ou um que pede um e-mail antes, nunca aparece num quadro em outro site. A porta de entrada dele precisa da aba inteira do navegador, não de um quadro dentro da página de outra pessoa, então o navegador não mostra nada ali. Incorpore um site Público ou Não listado, ou mande o link. Quem pode abrir.

O site da sua empresa não está na lista do site

Por padrão, um site pode ser incorporado em qualquer lugar. Se houver domínios na lista das configurações de incorporação dele, só esses podem mostrá-lo, e a regra é exata: www.acme.com e acme.com são nomes diferentes, e um endereço de testes (staging) também é. Adicione cada endereço em que a página fica, ou limpe a lista. Quais sites podem.

A Content Security Policy da sua própria página

Se o site da sua empresa envia uma Content Security Policy (definida pela hospedagem, por um plugin de segurança ou pelo padrão de um framework), é ela que decide quais quadros a sua página pode mostrar e quais scripts pode rodar. A incorporação precisa das duas coisas: o quadro, vindo do endereço do site, e, para a Altura automática, o pequeno script de https://solta.now que ajusta o tamanho. Acrescente estas linhas às diretivas que você já tem, em vez de substituí-las:

frame-src https://*.solta.site;
script-src 'self' https://solta.now;

Se o site está no seu próprio domínio, coloque esse domínio em frame-src no lugar de *.solta.site. Sem frame-src na sua política, o que vale é child-src e depois default-src, então acrescente ali, se for isso que você tem.

Se você não consegue mudar a política (alguns construtores de páginas não deixam), use o código de Altura fixa, que não precisa de script, e só o frame-src precisa permitir o site.

Carrega, mas fica cortado ou com rolagem

Isso é a Altura automática sem o script dela: o quadro mantém a altura escrita no código, e o site rola por dentro dele. Algo removeu a linha <script>: um construtor de páginas que tira scripts, ou uma política que bloqueia o script, como acima. Coloque a linha de volta, permita o script, ou mude para Altura fixa e escolha uma altura que caiba.