Einbettenfehler – Der Referer wurde entweder nicht gesendet oder stimmte nicht mit einem der folgenden Hosts überein

Hallo zusammen, ich versuche, https://forum.neverlocal.com als Kommentarbereich für https://blog.neverlocal.com zu verwenden, unseren Firmen-Jekyll-Blog. Wir verwenden die gehostete Version von Discourse.

Das Discourse-Embedding ist wie folgt konfiguriert:

Erlaubte Hosts: blog.neverlocal.com
Pfad-Allowlist: */
Beitrag an Kategorie: Blog
Beitragsautor: system

Der Embedding-Code lautet:

  <div id='discourse-comments' style="display: none"></div>
  <meta name='discourse-username' content='system'>
  
  <script type="text/javascript">
    DiscourseEmbed = {
      discourseUrl: 'https://forum.neverlocal.com/',
      discourseEmbedUrl: '{{site.url}}{{page.url}}',
      // className: 'share-box',
    };
  
    (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>

Zurzeit zeigen wir den iFrame aus Debugging-Gründen nicht an, weshalb er als display: none gestylt ist.

Leider stoße ich auf folgenden Fehler:

Referer:https://blog.neverlocal.com/xxx
\nDer Referer wurde entweder nicht gesendet oder stimmte mit keinem der folgenden Hosts überein:\n\n    blog.neverlocal.com.*\n```

Außerdem werden keine Beiträge in unserem Forum erstellt.

Übrigens können Sie das alles selbst überprüfen, indem Sie auf den Blog gehen, einen beliebigen Beitrag öffnen und die Situation mit den Entwicklertools untersuchen. Ich bin etwas ratlos und weiß nicht, was ich tun soll. Ich habe das Forum durchsucht, aber keine Lösung scheint zu funktionieren.

Jede Hilfe wäre sehr willkommen!
Fab

Ok, ich habe einige Fortschritte gemacht. Im Grunde habe ich nichts geändert, außer dass wir unser Abonnement bestätigt haben (wir waren vorher am Ende der Testphase). Könnte es sein, dass das Einbetten nicht funktioniert, es sei denn, das Abonnement ist aktiv?

Abgesehen davon habe ich immer noch ein Problem, nämlich dass der Kommentarabschnitt-iframe bei 150 Pixeln feststeckt und sich in keiner Weise dynamisch aktualisieren will. Das bedeutet, dass der Kommentarabschnitt abgeschnitten wird und die Schaltfläche “Diskussion fortsetzen” nicht sichtbar ist. Ich habe überall im Forum gesucht, aber ich kann nichts finden, das mir eine Lösung weist.

Dazu lautet die Antwort nein. Es gibt keine Einschränkungen bezüglich des Einbettens auf unseren Testseiten.

Nach meinem Kenntnisstand sind wir noch nie auf ein solches Problem gestoßen. Sehen Sie sich zum Beispiel die Antworten in diesem Blog an: Building a PC, Part IX: Downsizing

Dann ist das wirklich seltsam! Ich bin fast verrückt geworden, um zu verstehen, was ich vor 15 Tagen falsch gemacht habe. Dann prüfe ich heute und stelle fest, dass vor 7 Tagen alle Themen automatisch erstellt wurden und i-frames eingebettet wurden. Der Blog hat in dieser Zeit keine Änderungen erfahren.

Soweit ich weiß, sind wir noch nie auf ein solches Problem gestoßen. Sehen Sie sich zum Beispiel die Antworten in diesem Blog an: Building a PC, Part IX: Downsizing

Ja, das ist genau so, wie wir es gerne hätten. In unserem Fall ist die i-frame-Höhe jedoch auf 150 Pixel begrenzt. Könnte das etwas damit zu tun haben, wie wir den i-frame selbst und die ihn enthaltende div stylen?

Ich denke schon, es muss eine benutzerdefinierte CSS-Regel für iframes sein oder vielleicht eine, die von einem anderen benutzerdefinierten CSS geerbt wurde.

Ich weiß es nicht und habe keine Ahnung, wie ich es debuggen kann! Was mir bei der Verwendung der Entwicklertools aufgefallen ist, ist, dass der iframe zuerst ohne Höhenattribut eingebettet wird. Nach einer Sekunde oder so erhält er ein Höhenattribut von 150px. Ich stelle mir vor, dass eine JavaScript-Funktion oder etwas Ähnliches diese Daten übergibt, aber ich weiß nicht, wo ich sie finden kann, noch wie diese Daten abgerufen werden, was es von Anfang an sehr schwer zu debuggen macht.