Saltar para o artigo
Solta

Uma incorporação não carrega

O código de incorporação está na sua página, e o quadro fica vazio, cinzento, ou a mostrar o “refused to connect” do navegador. Ou o site não aceita aparecer aí, ou a sua página não aceita mostrá-lo. A consola diz qual das duas.

Que lado recusou

Abra a sua página, depois a consola do navegador (botão direito, Inspecionar, Consola), 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 secções seguintes.
  • 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 sua própria Content Security Policy. É a última secção.

O site tem uma porta de entrada

Um site com palavra-passe, só para convidados ou Privado, ou um que pede primeiro um email, nunca aparece num quadro noutro site. A sua porta de entrada precisa do separador inteiro do navegador, não de um quadro dentro da página de outra pessoa, por isso o navegador não mostra aí nada. Incorpore um site Público ou Não listado, ou envie o link. Quem o pode abrir.

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

Por omissão, um site pode ser incorporado em qualquer lado. Se houver domínios na lista das suas definições de incorporação, só esses o podem mostrar, 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 onde a página está, ou limpe a lista. Que sites podem.

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

Se o site da sua empresa envia uma Content Security Policy (definida pelo alojamento, por um plugin de segurança ou pela predefinição de uma framework), é ela que decide que quadros a sua página pode mostrar e que scripts pode correr. 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 lhe ajusta o tamanho. Acrescente estas linhas às diretivas que já tem, em vez de as substituir:

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

Se o site estiver no seu próprio domínio, ponha esse domínio em frame-src em vez de *.solta.site. Sem frame-src na sua política, o que conta é child-src e depois default-src, por isso acrescente aí, se for isso que tem.

Se não conseguir alterar 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 tem de permitir o site.

Carrega, mas aparece cortado ou com deslocamento

Isso é a Altura automática sem o seu script: o quadro mantém a altura escrita no código, e o site desloca-se dentro dele. Algo removeu a linha <script>: um construtor de páginas que retira scripts, ou uma política que o bloqueia, como acima. Volte a pôr a linha, permita o script, ou mude para Altura fixa e escolha uma altura que caiba.