Erro ao incorporar em postagens existentes

Olá! Estamos recebendo um erro de incorporação. O iframe exibe:

Erro de incorporação
Referenciador:
O referenciador não foi enviado ou não corresponde a nenhum dos seguintes hosts:

mesmo que os domínios sejam idênticos, e o console mostra:

Uncaught SyntaxError: Falha ao executar 'postMessage' em 'Window': Origem de destino inválida '' em uma chamada a 'postMessage'.
    _embed-application-3723be59920e64ecda9d66b1e7c4c55378fb9dadfa7f422febd4f1b346c1aa05.js:6 Uncaught DOMException: Falha ao executar 'postMessage' em 'Window': Origem de destino inválida '' em uma chamada a 'postMessage'.
        em e (https://sjc1.discourse-cdn.com/business5/brotli_asset/embed-application-3723be59920e64ecda9d66b1e7c4c55378fb9dadfa7f422febd4f1b346c1aa05.js:1:42)
        em window.onload (https://sjc1.discourse-cdn.com/business5/brotli_asset/embed-application-3723be59920e64ecda9d66b1e7c4c55378fb9dadfa7f422febd4f1b346c1aa05.js:1:470)

Estamos usando a ‘Configuração Alternativa’, então o tópico resolvido realmente não nos ajuda.

(Configuração Alternativa) Vinculação a tópicos existentes

Algumas pessoas preferem não ter que o Discourse crie tópicos automaticamente em seus fóruns. Elas gostariam de criar os tópicos elas mesmas e, em seguida, simplesmente informar ao código de incorporação qual tópico desejam associar. Você pode fazer isso alterando ligeiramente seu código de incorporação:

<div id='discourse-comments'></div>

<script type="text/javascript">
  DiscourseEmbed = { discourseUrl: 'http://discourse.example.com/',
                     topicId: 12345 };

  (function() {
    var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
    d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
  })();
</script>

A única diferença aqui é que substituímos discourseEmbedUrl pelo ID de um tópico do Discourse. Se você fizer isso, nenhum tópico será criado e os comentários desse tópico serão exibidos automaticamente.

de Embed Discourse comments on another website via Javascript

Existe alguma maneira fácil de depurar isso? De onde ele obtém o referenciador e por que ele pode estar vazio?
É um problema conhecido/comum e existe uma maneira de ocultar o iframe ou seu conteúdo quando ocorrer um erro?

Ao clicar no script onde ocorre o erro, parece que ele não consegue encontrar um referenciador para um postMessage no elemento #data-embedded.

Você pode examinar o iframe incorporado em sua página usando o inspetor e verificar se ele possui uma meta tag com o referer correto. Deve ser algo como: <meta id='data-embedded' data-referere="SEU_SITO">

O SEU_SITO deve ser preenchido automaticamente pelo iframe.

<meta id="data-embedded" data-referer="">

Está vazio :scream: O que isso significa?

Isso significa que, por algum motivo, o iframe que você está incorporando não está recebendo o referenciador. Não tenho certeza se algo o está removendo, como um proxy ou redirecionamento, ou se é um problema do navegador.

https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963/353?u=falco