Query-Parameter der Player-URL an Playlist-URLs übergeben
- player_params als dict(request.args) an player.html übergeben - appendParams() fügt Parameter an iframe.src + Overlay-URLs an - Funktioniert mit & ohne bestehende Query-Parameter in der Ziel-URL - Beispiel: /player/stuttgart/lobby?customer=acme → https://dashboard?customer=acme
This commit is contained in:
@@ -324,7 +324,7 @@
|
||||
// ─── Custom-URL/Voice-Agent-Overlay (open/close mit Zurück-Button-Position-Tracking) ───
|
||||
function openOverlay(url, pos) {
|
||||
document.getElementById("overlay").style.display = "block";
|
||||
document.getElementById("overlay-iframe").src = url;
|
||||
document.getElementById("overlay-iframe").src = appendParams(url, playerParams);
|
||||
var backBtn = document.getElementById("overlay-back");
|
||||
backBtn.className = "overlay-back-" + (pos || "top-left");
|
||||
}
|
||||
@@ -352,6 +352,14 @@ const interval = {{ interval }} * 1000;
|
||||
let stayOnFirst = {{ "true" if stay_on_first else "false" }};
|
||||
const screen = "{{ screen }}";
|
||||
const site = "{{ site }}";
|
||||
const playerParams = {{ player_params | tojson }};
|
||||
|
||||
// Query-Parameter aus der Player-URL an URLs anhängen
|
||||
function appendParams(url, params) {
|
||||
if (!params || Object.keys(params).length === 0) return url;
|
||||
const sep = url.includes('?') ? '&' : '?';
|
||||
return url + sep + new URLSearchParams(params).toString();
|
||||
}
|
||||
// stayOnFirst: Player bleibt auf erstem Element (kein Timer/Advance)
|
||||
|
||||
// ─── Player-Status ───
|
||||
@@ -448,7 +456,7 @@ function playNext() {
|
||||
// URL im iframe anzeigen (mit Zoom-Unterstützung)
|
||||
if (item.kind === "url") {
|
||||
iframe.style.display = "block";
|
||||
iframe.src = item.url;
|
||||
iframe.src = appendParams(item.url, playerParams);
|
||||
const zoom = item.zoom || 1.0;
|
||||
if (zoom !== 1.0) {
|
||||
const scale = 1 / zoom;
|
||||
|
||||
Reference in New Issue
Block a user