PDF-Darstellung: Sidebar und Toolbar ausblenden via URL-Parameter

PDF-URLs bekommen #toolbar=0&navpanes=0&scrollbar=0&view=Fit&page=1
angehängt, damit Chromium den PDF-Viewer ohne Sidebar und Toolbar
im Vollbild rendert. PDF.js als Folgeschritt in TODO dokumentiert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jesko Anschütz 2026-03-23 12:18:52 +01:00
parent a334dbd95a
commit 2534dbbe05
3 changed files with 10 additions and 2 deletions

View file

@ -143,6 +143,8 @@
- [x] Flash-Messages nach Aktionen in Manage-UI (Upload, Loeschen, Speichern) — Feedback fuer den Nutzer - [x] Flash-Messages nach Aktionen in Manage-UI (Upload, Loeschen, Speichern) — Feedback fuer den Nutzer
- [x] Screen-Online/Offline-Status in Admin-Tabelle anzeigen (aus /status-Endpoint befuellen) - [x] Screen-Online/Offline-Status in Admin-Tabelle anzeigen (aus /status-Endpoint befuellen)
- [x] Playlist-Tabelle in overflow-x Wrapper einwickeln (Responsive auf kleinen Screens) - [x] Playlist-Tabelle in overflow-x Wrapper einwickeln (Responsive auf kleinen Screens)
- [x] PDF-Darstellung: Sidebar und Toolbar im Chromium PDF-Viewer ausblenden (URL-Parameter navpanes=0, toolbar=0)
- [ ] PDF-Darstellung: PDF.js fuer automatisches Seitendurchblaettern integrieren
### Mittlere Prioritaet ### Mittlere Prioritaet

View file

@ -148,6 +148,8 @@ Wenn weder Kampagne noch gueltige Playlist-Inhalte verfuegbar sind:
- lokal oder aus Cache - lokal oder aus Cache
- Anzeige ueber Browser/PDF-Renderer - Anzeige ueber Browser/PDF-Renderer
- Sidebar und Toolbar im Chromium PDF-Viewer ausblenden (URL-Parameter: `navpanes=0&toolbar=0`)
- Folgeschritt geplant: PDF.js-Integration fuer automatisches Seitendurchblaettern
### Webseite ### Webseite

View file

@ -433,8 +433,12 @@ const playerHTML = `<!DOCTYPE html>
videoView.onended = advanceOnce; videoView.onended = advanceOnce;
} else { } else {
// type === 'web' oder unbekannt → iframe // type === 'web', 'pdf' oder unbekannt → iframe
frame.src = item.src; if (type === 'pdf') {
frame.src = item.src + '#toolbar=0&navpanes=0&scrollbar=0&view=Fit&page=1';
} else {
if (frame.src !== item.src) { frame.src = item.src; }
}
frame.style.display = 'block'; frame.style.display = 'block';
requestAnimationFrame(function() { requestAnimationFrame(function() {
requestAnimationFrame(function() { frame.style.opacity = '1'; }); requestAnimationFrame(function() { frame.style.opacity = '1'; });