Impossibile eseguire 'postMessage' su 'DOMWindow'

Soluzione trovata - Grazie a @simon e @Lilly per un’esperienza di supporto incredibile.

Elementi che sono stati modificati secondo il consiglio di Simon:

Codice modificato dal tutorial per non includere termini deprecati e includere un’istruzione if:


<div id='discourse-comments'></div>
<meta name="discourse-username" content="ForumAdminName">

<script type="text/javascript">
  if (window.location.pathname.indexOf('/p/') < 0) {
  DiscourseEmbed = {
    discourseUrl: 'https://forum.test.com/',
    discourseEmbedUrl: '{{url absolute="true"}}',
    // className: 'CLASS_NAME',
  };

  (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>

Inoltre, aggiunti https://www.test.com e https://test.com
Alle impostazioni src della content security policy del sito Discourse, trovate nella scheda Impostazioni dell’amministratore di Discourse.

Nota: per mia esperienza, ricaricando la pagina troppo rapidamente quando si è su un droplet piccolo, i risultati potrebbero non apparire per circa 30 secondi, quindi concedere qualche istante a ogni riavvio di ghost e a ogni modifica nel pannello di amministrazione di Discourse per avere effetto.

Nota aggiuntiva: c’è una lunga latenza quando si controlla la sezione commenti di un articolo per la prima volta, @simon consiglia di controllare sempre prima l’articolo stesso, in modo che discourse abbia il tempo di generare le sezioni commenti associate al post del forum.

Grazie ancora a tutti, molto utile. Molti commentatori su YouTube del tutorial che ho guardato avevano gli stessi problemi miei, che facevano riferimento alle istruzioni di integrazione discourse/ghost. I link di YouTube potrebbero essere deprecati, quindi questo aiuto è stato ottimo.

4 Mi Piace