das ist wahrscheinlich eine sehr einfache Einstellung, die ich übersehe, aber aktuell versuche ich, Discourse in eine mobile App einzubetten, die ich mit Glide (glideapps.com) erstellt habe.
Wenn ich es jedoch über eine WebView-Komponente einbetten möchte, wird mir mitgeteilt, dass ich nicht die richtigen Zugriffsrechte habe.
Ich gehe davon aus, dass ich die Domain freischalten muss, kann diese aber in den Einstellungen nicht finden.
Du kannst es im Admin-Bereich unter >> Anpassen >> Einbetten in die Whitelist aufnehmen. Ich bin mir jedoch nicht sicher, was Glide genau macht. Discourse kann problemlos in einer regulären Webview laufen (zum Beispiel verwendet unsere eigene DiscourseHub-App für iOS eine Webview).
Das sollte kein Problem sein. Ich habe Ihre Seite gerade in der DiscourseHub-App getestet, und sie wird dort korrekt geladen. Das sieht nach einem Problem mit Glide aus. Ich sehe, dass Sie dort bereits ein Ticket eröffnet haben, also hoffen wir, dass sie Ihnen dort weiterhelfen können.
Sie können auch versuchen, andere Seiten einzubetten, zum Beispiel Meta oder die Glide-Community (die ebenfalls auf Discourse läuft). Wenn keine davon funktioniert, liegt das definitiv auf der Glide-Seite (entweder ein Fehler in Glide oder ein Problem bei Ihrer Implementierung).
ich habe von Glide Rückmeldung dazu erhalten, warum es nicht funktioniert.
“Wenn du diese URL (https://community.pelvic.app/) in dieses Tool eingibst, wird angezeigt, dass sie Einstellungen enthält, die die Ausführung in einem iFrame verhindern. Webview ist eine Hülle für ein iFrame.”
Der erste Teil davon ist korrekt: Standardmäßig blockieren wir das Laden von Discourse-Seiten in Iframes. Dies schützt Ihre Seite vor einer Vielzahl von Risiken, von SEO-Manipulationen bis hin zu Clickjacking (siehe diesen Beitrag für weitere Details).
Der zweite Teil ist jedoch seltsam: Webviews sind definitiv keine Iframes. Webviews sind Mini-Browser, die in mobile Apps eingebettet werden können; sie verhalten sich wie ein echter Browser. Ein iframe ist eine Möglichkeit, eine Webseite innerhalb einer anderen Webseite zu laden. Ich vermute, dass die gesamte Glide-App im Grunde eine Webseite ist, also verwenden sie dort vielleicht Iframes innerhalb der Webview?
Wir haben eine Site-Einstellung, die umgeschaltet werden kann, um das Einbetten Ihrer Seite in ein iframe zu erlauben. Wir empfehlen dies jedoch nicht, und es gibt Eigenheiten bei der Verwendung von Discourse innerhalb eines Iframes. Mit anderen Worten: Wir können das Einbetten per iframe für Sie aktivieren, aber es könnte unbehebbare Probleme auf dem Weg geben.
Du musst das für uns im Moment nicht aktivieren. Aber um dieses Thema abzuschließen, für alle, die das später lesen: Das war das Feedback von Glide.
Wir verwenden ein Iframe, um unsere WebView zu betreiben. Das ist der einzige Weg, wie wir das in Webbrowsern umsetzen können. Er hat recht, dass viele Seiten dies aus Sicherheitsgründen blockieren, aber es ist das Beste, was wir im Web tun können.
Die Discourse-Community geht wahrscheinlich von der WebView-Funktionalität nativer Apps aus, die wir natürlich nicht nutzen können.
Für die Aufzeichnung: Glide ist eine Progressive Web App und keine native App.