Ich habe das Forum nach einer Antwort auf dieses Problem durchsucht und einige der verschiedenen geposteten Optionen ausprobiert.
Ich betreibe eine Ghost-Publikation auf einem Digital Ocean Droplet und ein Discourse-Forum auf einem separaten Digital Ocean Droplet, da der Konsens im Forum darin bestand, dass man nicht zwei Anwendungen auf demselben Server installieren sollte.
forum.mysite dot com
mysite dot com
Ich möchte, dass die Discourse-Kommentare bei jedem Beitrag erscheinen, und ich habe keine mysite.com/blog URL-Slug. Also folgte ich der Dokumentation, um die aktuelle Website-URL zu erhalten und diese als Einbettungs-URL zu verwenden.
Folge der Dokumentation hier: Offizielle Integrationsdokumentation
Ich kann den Frame bei neuen Beiträgen erscheinen lassen. Er wird jedoch nicht geladen und gibt folgenden Fehler aus:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('\u003cURL\u003e') does not match the recipient window's origin ('\u003cURL\u003e').
Ich habe bestätigt, dass meine HTTPS-Einstellungen korrekt sind. Meine eingebettete URL ahmt das Tutorial nach, aber ich habe einige verschiedene Variationen von discourseEmbedUrl ausprobiert, um das Problem zu beheben. Alle Verweise auf die aktuelle Artikel-URL verursachen denselben Fehler.
Ich habe auch versucht, eine Wartefunktion hinzuzufügen, da ich dachte, der Frame würde vielleicht nicht geladen, aber derselbe Fehler bleibt bestehen.
Dies ist mein aktueller Einbettungscode:
<div id='discourse-comments'></div>
<meta name='discourse-username' content='JosephPaul'>
<script type="text/javascript">
DiscourseEmbed = {
discourseUrl: 'https://forum.mysite.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>
Jede Hilfe hier wäre willkommen, da ich alle geposteten Lösungen ausgeschöpft habe. Ich glaube, es könnte mit meinen separaten Servern für Forum und Artikel zusammenhängen.