Diese Theme-Komponente ermöglicht es Benutzern, Medien in ein schwebendes Fenster „auszublenden", während sie die Seite durchsuchen. Sie können sogar zu einem anderen Thema navigieren, und die Medienwiedergabe läuft weiter.
Es funktioniert mit jedem <iframe> oder <video> (mit besonderer Behandlung für lazyYT). Es fügt jeder kompatiblen Komponente einen Button hinzu, der ein kleines Popup in der rechten unteren Ecke öffnet.
Anschließend können Sie es „minimieren", wodurch die Audiowiedergabe im Hintergrund weiterläuft, oder es vollständig schließen.
Derzeit wird die Größe des Videos durch die ursprüngliche Einbettung festgelegt. Ich möchte eine „Größenanpassung"-Funktion hinzufügen, entweder durch „Klicken und Ziehen" oder einfach über drei Buttons: „klein", „mittel", „groß".
Derzeit verdeckt dies den Editor. Die einfache Lösung ist, das Popup einfach zu schließen, wenn Sie einen Beitrag verfassen möchten .
I have fixed this with the addition of an explicit z-index, and some explicit colours. With the vincent theme it now looks like this when you mouse-over:
Ich habe es auf meinem Forum aktiviert, und die Videobox verschwindet komplett, wenn das Video über einen mp4-Link einzeilig eingebunden wird. Ich habe es auch mit iframes getestet, und das funktioniert wie erwartet, aber iframes sind etwas schwieriger korrekt zu formatieren
Wir haben dies gerade installiert, damit Nutzer Anhörungen zur Amtsenthebung verfolgen können, ohne ein weiteres Fenster öffnen zu müssen. Es war ein voller Erfolg (ein Kommentar lautete: „Das ist sehr praktisch. Fantastisch. Dies ist bei weitem die beste Forumsoberfläche, die ich je erlebt habe.“), sodass auch Nutzer von Smartphones und Tablets dies wollten. Da auf mobilen Geräten keine mehreren Fenster gleichzeitig geöffnet werden können, ist dies eine großartige Funktion.
Um dies auf Tablets und Smartphones zu aktivieren, entfernen Sie einfach no-touch aus den Zeilen 64 und 82 der Common CSS-Datei. Anschließend passen Sie den Player auf kleineren Bildschirmen mit etwas wie folgendem Code an:
Auf Touch-Geräten entspricht ein langer Druck dem Hover, um das Steuersymbol oder die Mediensteuerung anzuzeigen. Tippen Sie dann irgendwo anders hin, um es wieder auszublenden.
Ich wollte es ursprünglich auf Smartphones deaktivieren lassen, aber es ist auch auf einem Smartphone nützlich, da Sie den Ton anhören können, während der Player minimiert ist.
Ich gehe davon aus, dass dies eine bekannte Einschränkung ist, aber YouTube-Videos geben keinen Ton von sich, wenn sie minimiert sind. Wenn Sie ein YouTube-Video aus einem Beitrag abspielen und dann entscheiden, es in ein schwebendes Fenster zu verschieben, gibt es keine Möglichkeit, das Video im schwebenden Fenster abzuspielen. Sie müssen es zuerst verschieben, bevor Sie es abspielen, und können es dann im schwebenden Fenster abspielen.
Es scheint, dass es bei YouTube-Videos korrekt funktioniert, wenn Sie diese als iFrame einbetten, anstatt nur den Link zu posten und Discourse LazyYT zu verwenden.
Damit dies funktioniert, müssen Sie YouTube-iFrames auf Ihrer Website aktivieren. Gehen Sie dazu zu Einstellungen → „erlaubte iFrames“ und fügen Sie https://www.youtube.com/ zur Whitelist hinzu.
Wenn Sie dann einen iFrame-Code einfügen (den Sie für jedes Video auf YouTube unter Teilen → Einbetten finden), wird das über iFrame eingebettete YouTube-Video vollständig mit der Media-Overlay-Komponente funktionsfähig sein. Das heißt, Sie müssen folgenden Code posten:
Der iFrame-Code funktioniert nicht auf discourse.org, da sie https://www.youtube.com nicht in ihren Einstellungen für „erlaubte iFrames“ freigegeben haben. Es ist jedoch einfach, dies in Ihrem eigenen Forum nachzurüsten.
So sieht es auf unserem Forum auf meinem Handy aus, wenn der Media-Player erweitert ist:
Die Media Overlay-Komponente verhinderte, dass Videos von Seiten wie Imgur in unserem Forum angezeigt wurden. Wir haben das Problem behoben, indem wir video aus Zeile 103 entfernt haben, also von $('iframe, video, .lazyYT', $elem) zu $('iframe, .lazyYT', $elem) geändert.
function addOverlays($elem) {
$('iframe, video, .lazyYT', $elem).wrap("<div class='media-overlay-eligable'></div>")
Jetzt funktionieren Imgur-Videos wieder, und das Overlay funktioniert weiterhin mit iFrames und lazyYTs.
Für Nutzer, die an dieser Funktion interessiert sind, bieten iOS Safari und Firefox dies bereits standardmäßig an, während Chrome dies für seine nächsten Versionen plant.