iframe und Attribute

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

iframe und Attribute

Post by hillschmidt » Fri Feb 18, 2022 1:27 pm

Folgende Frage: für ein Projekt möchte ich gerne einen Jitsi-Konferenzraum über einen iframe einbinden.
iframes funktionieren ABER nicht alle Attribute werden unterstützt, sobald ich (über Code Editing in tinymce4) die entsprechende Seite generiert habe.

Hier der Code, wie ich ihn möchte:

Code: Select all

<iframe allow="camera; microphone; fullscreen; display-capture; autoplay" src="https://...link..." style="height: 100%; width: 100%; border: 0px;"></iframe>
und hier das, was dann nach dem Speichern draus wird:

Code: Select all

<iframe style="position: static; height: 640px; width: 100%; border: 0px;" src="https://...link..."></iframe>
d.h. die allow-Angabe wird gefiltert.

Mittlerweile habe ich rausgefunden, dass seltsamerweise ein Attribut

Code: Select all

allowfullscreen="allowfullscreen"
erhalten bleibt:

Code: Select all

<iframe style="position: static; height: 640px; width: 100%; border: 0px;" src="https://...link..." allowfullscreen="allowfullscreen"></iframe>
aber das Attribut ist veraltet, und gerade auf das fehlende allow (Kamera und Mikrofon-Zugriff erlauben) kommt es natürlich für eine Videokonferenz an.

Klar, das läßt sich über einen externen Link sehr einfach "umgehen", aber wegen der Niedrigschwelligkeit der geplanten Site möchte ich die Konferenz gerne in diese Site einbetten, was Jitsi sogar ausdrücklich erlaubt und den Code entsprechend generiert.

Ich vermute, dass TinyMCE4 "umkonfiguriert" werden müsste - aber ich finde nicht, wo das zu tun ist.

Oder bietet CMSimple_XH eine Möglichkeit?

Danke für Euer Schwarm-Wissen!
Es grüßt Andreas aus Rheinhessen
https://digibos.org

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: iframe und Attribute

Post by frase » Fri Feb 18, 2022 1:30 pm

Versuch, ohne zu wissen, ob das klappt:
https://olaf.penschke.net/?CMSimple_XH/ ... content_XH

hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Re: iframe und Attribute

Post by hillschmidt » Fri Feb 18, 2022 1:36 pm

Danke, frase, für den Hinweis, aber auch das löst das Problem nicht; hatte es ausprobiert.
Es grüßt Andreas aus Rheinhessen
https://digibos.org

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: iframe und Attribute

Post by frase » Fri Feb 18, 2022 1:47 pm

hillschmidt wrote:
Fri Feb 18, 2022 1:36 pm
Danke, frase, für den Hinweis, aber auch das löst das Problem nicht; hatte es ausprobiert.
Dann bleibt wohl nix anderes, als dem Tiny die zusätzlich erlaubten Dinge beizubringen.
In der betreffenden Init-Datei (die du bei dir im Einstzt hast) evtl. bei

Code: Select all

extended_valid_elements: 'span[*]',
die gewünschten Sachen hinzufügen.
Ich kann das im Moment leider nicht testen.
Eventuell müsstest du in der Tiny-Doku auch nochmal nachlesen.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: iframe und Attribute

Post by cmb » Fri Feb 18, 2022 1:59 pm

Ja, das ist ein TinyMCE-Problem; entweder diesen also entsprechend konfigurieren, oder eine kleine PHP-Funktion in userfuncs.php erstellen, die das gewünschte HTML erzeugt. Etwa:

Code: Select all

<?php

function video_konference() {
    return '<iframe allow="camera; microphone; fullscreen; display-capture; autoplay" src="https://...link..." style="height: 100%; width: 100%; border: 0px;"></iframe>';
}
Und diese Funktion per Plugin-Call auf der Seite aufrufen:

Code: Select all

{{{video_konference}}}
Diese Variante ist besonder sinnvoll, wenn man verschiedene Konferenzen einbinden will ("parameterisierte Funktion").
Christoph M. Becker – Plugins for CMSimple_XH

hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Re: iframe und Attribute

Post by hillschmidt » Fri Feb 18, 2022 3:25 pm

SUPER und DANKE!
Der Tipp war Gold wert - jetzt klappt es auf einer ansonsten leeren Seite perfekt.

Die Funktion in userfuncs.php:

Code: Select all

<?php

function jitsi_conference() {
    return '<iframe allow="camera; microphone; fullscreen; display-capture; autoplay" src="https://...link..." style="height: 640px; width: 100%; border: 0px;"></iframe>';
}
Der Aufruf genau wie vorgeschlagen auf einer ansonsten leeren und versteckten Seite:

Code: Select all

<p style="height: 640px; width: 100%; border: 0px;"><span class="xhplugincall mceNonEditable" lang="de">{{{jitsi_conference}}}</span></p>
Ohne die style Angaben in Funktion und auf der Seite selbst habe ich es nicht hinbekommen - mag sein, dass der Browsercache mal wieder "mitspielt". Aber für mich ist das DIE Lösung - Danke nochmals!
Es grüßt Andreas aus Rheinhessen
https://digibos.org

Post Reply