Ergebnis 1 bis 11 von 11

Thema: Klick auf Zurück-Button springt immer an den Seitenanfang

  1. #1
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    298
    Contao-Projekt unterstützen

    Support Contao

    Standard Klick auf Zurück-Button springt immer an den Seitenanfang

    Liebe Community,

    wenn ich das Newsreader-Modul nutze, springt ein Klick auf den Zurück-Button immer an den Anfang der Ursprungsseite, und nicht an die Stelle, wo ich vorher war. Wenn ich im Newsreader-Modul aber die Zeile

    PHP-Code:
    <p class="back"><a href="<?= $this->referer ?>" title="<?= $this->back ?>"><?= $this->back ?></a></p>
    durch die Javascript-Zeile

    Code:
    <p class="back"><a href="javascript:history.back()">Zurück</a></p>
    ersetze, funktioniert es einwandfrei.

    Ist es beabsichtigt, dass der originale Code immer an den Seitenanfang der Ausgangsseite zurückspringt?
    Falls ja: Kann ich das so mit Javascript lösen, wie ich es gemacht habe, oder gibt es da bessere Lösungen?

    grashalm
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  2. #2
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.980
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst im Frontend-Modul Nachrichtenleser eine Übersichtsseite mit individueller Bezeichnung vergeben
    Grüsse
    Bernhard


  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    37.213
    Partner-ID
    10107

    Standard

    Ich denke das hat er bereits gemacht (sonst würde der Link im Default-Template von Contao 5 gar nicht ausgegeben werden). Aber nur mit history.goBack() bekommt man auch die ursprüngliche Scroll-Position wiederhergestellt.
    » sponsor me via GitHub or Revolut

  4. #4
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    298
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    Du kannst im Frontend-Modul Nachrichtenleser eine Übersichtsseite mit individueller Bezeichnung vergeben
    Ja, ich weiß. Das mache ich ja auch. Aber die Scrollposition der ursprünglichen Seite erreiche ich damit nicht. Die erreiche ich tatsächlich nur, wenn ich im Template

    HTML-Code:
    <a href="javascript:history.back()">Zurück</a>
    eingebe, da hat Spooky schon recht. Frage ist nur: Ist das der sauberste Weg, das so zu programmieren? Oder gibt es noch einen besseren Weg? Und ist es so gewollt / wünschenswert, dass die Scrollposition der Ursprungsseite mit dem Original-Code im Template nicht erreicht wird? Oder wäre das ein Issue bei github wert? Das kann ich schlecht einschätzen...
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  5. #5
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.432
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich glaube, das mit der Scrollposition ist eher so nicht allgemein gewünscht, jedenfalls nicht automatisch.

    Du könntest die jeweilge Position im localStorage des Browsers speichern und dann ja auch wieder aufrufen.

    Aus dem Bauch heraus ein Beispiel für ein Element .sidebar:

    Code:
    // .sidebar Element finden
    let sidebar = document.querySelector(".sidebar");
    
    // Scroll Position aus dem localStorage lesen
    let storedScrollPosition = localStorage.getItem("sidebarScroll");
    // Wenn es eine Position gibt daorthin scrollen
    if (storedScrollPosition !== null) {
      sidebar.scrollTop = Number(storedScrollPosition);
    }
    // Scroll position in localStorage speichern bevor die Seite verlassen wird
    window.addEventListener("beforeunload", () => {
      localStorage.setItem("sidebarScroll", sidebar.scrollTop);
    });

  6. #6
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    298
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Lucina,

    vielen Dank für Deine Idee.

    Grundsätzlich muss ich nochmal nachfragen: Ist Dein Code die bessere / sauberere Variante, so etwas umzusetzen, oder könnte ich auch
    bei meinem Javascript-Snippet bleiben??? Den verstehe ich nämlich wenigstens noch. Und wenn ich dabei bliebe, habe ich dann durch das
    Auskommentieren der entsprechenden Zeile im Template

    PHP-Code:
    <p class="back"><a href="<?= $this->referer ?>" title="<?= $this->back ?>"><?= $this->back ?></a></p>
    irgendwelche weiteren oder anderen unabsehbaren Nachteile, oder wäre das für mich tatsächlich die einfachere Lösung?

    Wenn ich Deinen Code nehmen würde:

    Muss ich in meinem Fall dann den Code ansonsten 1:1 so übernehmen mit diesem Element .sidebar? Ist sidebar quasi der
    vertikale Scrollbalken, dessen Position im Code gespeichert wird? Muss ich den Code dann im besagten Template platzieren,
    und wenn ja, wo genau? Anstelle der jetzt auskommentierten Zeile? Oder einfach danach einfügen?
    Ich habe leider so gar keine Ahnung vom Coden...

    Freue mich sehr über Deine Einschätzung zum oberen Teil meiner Frage, und über Antworten, wenn ich doch Deinem Codebeispiel folgen
    soll...

    grashalm
    Geändert von grashalm (19.03.2024 um 16:27 Uhr)
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  7. #7
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.498
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Lucinas Variante hilft hierbei die letzte Scroll-Position zu speichern.

    Es wurde schon vorher
    HTML-Code:
    javascript:history.back()
    genutzt, es wird auch in Zukunft weiterhin funktionieren (Wenn die Sicherheitseinstellungen es erlauben ).
    Grund für die Änderung war, dass die News-Seiten bei Google indexiert waren, somit ein Sprung "zurück" dann wieder zu Google führte, nicht zur Übersicht.

    Es ist also dir überlassen, was besser für dich ist.

  8. #8
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    298
    Contao-Projekt unterstützen

    Support Contao

    Standard

    alles klar, danke!
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  9. #9
    Contao-Nutzer
    Registriert seit
    01.07.2009.
    Ort
    bei Speyer
    Beiträge
    77

    Standard gleiches Problem

    Hallo an Euch alle,

    habe ein fast ähnliches Problem, bis jetzt leider nicht fündig geworden.

    Nur werden bei meiner Seite im Newsmodul schon eine Selektierung vorgenommen. Der zurückbutton aus dem Readerbeitrag müsste dann auf die vorherige Vorsortierung springen.
    Hier mal ein Link zur Seite: https://www.rebschule-freytag.de/rebsortiment.de.html.

    Die Rebensorten werden hier alle aus den Newsbeiträgen gelistet. Es findet dann über JS eine Vorsortierung statt. Wenn man auf eine davon klickt gelingt man auf die Readerseite. Beim Zurückbutton wird statt die selektiere Rebsorte die ganzen Rebsorten gezeigt.

    Ich hoffe, ich habe mich einigermaße verständlich ausgedrückt. Vielleicht kann mir jemand bei dieser Aufgabe helfen.
    Danke schon mal.

  10. #10
    Alter Contao-Hase
    Registriert seit
    24.02.2021.
    Beiträge
    1.498
    Partner-ID
    11715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Sortierung findet über JavaScript statt und ist selbst programmiert / implementiert? Dann hat das nichts mit dem Contao-Standard zu tun.

    Diese Sortierung könntest du über einen URL-Parameter ansteuern und vorselektieren, das musst du dir programmieren und dann an die angeklickte News anhängen (URL, POST wie auch immer).
    Auf der News-Seite wirst du dann beim Zurück-Button (Nicht JavaScript History go back) die Übersichtsseite dieser auswählen und kannst dir hier dann den Parameter anhängen, der die Sortierung beinhaltet.
    Über diesen Parameter kannst du das dann auch wieder vorselektieren.

    Also ungefähr so:
    https://www.rebschule-freytag.de/reb...html?sorte=rot

    Wenn das alles in deinem JavaScript implementiert ist, dann sollte das gehen.

  11. #11
    Contao-Nutzer
    Registriert seit
    01.07.2009.
    Ort
    bei Speyer
    Beiträge
    77

    Standard

    Danke Dir,

    habe nicht so viel Ahnung. Ich teste es auch, dann melde ich mich nochmal.
    Grüße!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •