[live] Browser springt nach Änderungen an Listenanfang

  • Ich bin mir nicht ganz sicher, meine aber, dass das in früheren live-ng Versionen schonmal anders funktioniert hat.
    Wenn ich z.B. in einer längeren Timerliste am Ende einen Timer lösche oder deaktivere, springt live immer wieder an die erste Position der Liste. Ich meine in früheren Versionen wäre das nicht so gewesen. Da blieb die Liste da, wo man den Timer bearbeitet hatte.

    Das gleiche gilt für Aufnahmenlisten, wenn ich da ans Ende scrolle und eine Aufnahme lösche springt die Liste wieder auf Position 1, das ist lästig.

    Ich benutze yavdr und dort Version 3.5.7

    Blog

    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Die Timer haben mit dem Patch oben nichts zu tun:

    The content cannot be displayed because you do not have authorisation to view this content.

    The content cannot be displayed because you do not have authorisation to view this content.

    Wie man sieht, bleibt die Anzeige nach dem Deaktivieren des Timers exakt gleich. Dafür sorgt restoreScrollPosition(), das Wiederanzeige der Seite aufgerufen wird..

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.2 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited 2 times, last by SHofmann (August 28, 2026 at 3:48 PM).

  • Das ist mir inzwischen auch schon aufgefallen. Chrome-basierte Browser lösen das onpagehide-Event scheinbar aufgrund anderer Trigger als Firefox aus. :(

    Das muss ich mir nochmals ansehen…

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.2 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Quote

    Mit Firefox ja, mit Edge nicht.

    Mit Safari auch ja, mit Brave und Vivaldi nicht.

    Blog

    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Nach etlichen Untersuchungen während der letzten Tage scheint klar, dass Chrome-basierte Browser den – sogar auf der Chrome-Developer-Seite (!) publizierten – Page-Lifecycle nicht korrekt unterstützen:

    • Der vom Patch genutzte pageshow-Event zur Wiederherstellung der Scroll-Position wird zuverlässig ausgelöst.
    • Der ebenfalls genutzte pagehide-Event zum Speichern der Scroll-Position wird bei einem Seitenwechsel nicht wie spezifiziert ausgelöst (Übergang ⓕ – "User navigates to another page").
    • Auch der oft als Alternative empfohlene Event visibilitychange oder der laut Page-Lifecycle eigentlich geeignete blur haben sich für diesen Zweck als unzuverlässig erwiesen.

    Weil aber Firefox die Events pagehide und pageshow gemäß dem Page-Lifecycle korrekt behandelt, hat der bisherige Ansatz für die Wiederherstellung der Scroll-Position (bis auf ein kleines Springen beim Reload) dort gut funktioniert.

    Trotz etlicher Bestrebungen hat sich aus dem Page-Lifecycle heraus kein Event finden lassen, der auf beiden Browser-Plattformen beim Verlassen einer Seite zuverlässig ausgelöst wird. Deshalb geht der folgende Patch:

    • The content cannot be displayed because you do not have authorisation to view this content.

    … das Problem jetzt anders an, indem er 200 ms nach einer Scroll-Operation die erreichte Scroll-Position speichert, um sie später bei einem Neuladen bzw. erneuten Aufruf der Seite wiederherzustellen. Wegen der scroll-Events ist das zwar etwas aufwändiger als ein einzelner pagehide-Event beim Seitenwechsel, dafür funktioniert es aber auf beiden Browser-Plattformen zuverlässig.

    Dennoch gestaltet sich der Seitenwechsel bei Firefox viel harmonischer als bei Chrome. Denn Firefox stellt die Scroll-Position einer Seite und ihrer Elemente automatisch wieder her, wenn man auf eine bereits geladene Seite zurückkehrt. Chrome hingegen merkt sich – wie im Web nachzulesen ist – seit Version 87 die Scroll-Position von untergeordneten Elementen nicht mehr, sondern nur noch Scroll-Position der Seite, sprich: des body-Elements. Und Google scheint das auch nicht angehen zu wollen… :(

    MarkusE, der Patch übernimmt auch zentral das Entfernen von Bookmarks aus der URL (wie etwa bei schedule.html#now). Denn eine solch konsolidierte URL muss im History-State zusammen mit den Daten der Scroll-Position gespeichert werden. Das ersetzt nicht nur die bisherige Funktion removeBookmark(), sondern steht damit auch anderen Seiten zur Verfügung, sollten diese später einmal Bookmarks verwenden wollen. Und als Nebeneffekt treten auch die Sprünge beim Neuladen der Programmübersicht nicht mehr auf… :)

    kfb77, massi, könnt ihr den Patch bei euch bitte einmal testen?

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.2 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Bei mir nicht, aber ich habe yavdr ansible und bin nicht sicher, ob ich die Sourcen richtig installiert und gepatcht habe.:-/

    Blog

    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Funktioniert bei mir mit Edge und dem aktuelle Stand von git master.

    VDR

    Server: Ubuntu 26.04 headless VDR im LXC Container, Plugins: satip (Octopus NET SL SX8), live, epgsearch, tvscraper, markad

    Clients: LibreELEC auf RasPi3 und RasPi4

  • Geht bei mir jetzt auch mit Brave und Vivaldi.

    Blog

    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Danke für Deinen schnellen Einsatz!!

    Blog

    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Na klar doch… :)

    Weil ich fast ausschließlich Firefox nutze, fallen mir solche Abweichungen bei den Chrome-Browsern nicht immer sofort auf. Aber wenn ich davon Kenntnis habe, kümmere ich mich meist gleich darum.

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T @ 2.30 GHz, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.8.2 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, femon, live, markad, mlist, osdteletext, recsearch, remote, satip, screenshot, skinnopacity, streamdev, systeminfo, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!