Ergebnis 1 bis 8 von 8

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
    260
    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.862
    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
    34.111
    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 PayPal or Revolut

  4. #4
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    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.335
    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
    260
    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
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    455

    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
    260
    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!

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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