Lara @AlRe
Ich habe die Cookies angenommen.
Und wie Finer sagt - tatsächlich kann das beschriebene Verhalten auf mobilen Endgeräten besonders problematisch sein, insbesondere aufgrund des begrenzten Bildschirmplatzes und der Neigung von mobilen Browsern, Seiten neu zu rendern, wenn sie aus dem Cache geholt werden. Da das Problem auf dynamischen Inhalten basiert, die beim Zurückgehen erneut geladen werden, wäre eine Lösung, die Position des Benutzers auf der Seite in einem Cookie oder im SessionStorage zu speichern, besonders sinnvoll.
Speichere die aktuelle Scroll-Position im SessionStorage, wenn ein Produkt angeklickt wird:
document.addEventListener('click', function (e) {
if (e.target.classList.contains('product-link')) { // Ersetze 'product-link' mit der tatsächlichen Klasse deiner Produktlinks
sessionStorage.setItem('scrollPosition', window.scrollY);
}
});
Wenn die Kategorieseite geladen wird, überprüfe, ob eine Scroll-Position im SessionStorage gespeichert ist, und scrolle dorthin zurück:
window.addEventListener('load', function () {
const scrollPosition = sessionStorage.getItem('scrollPosition');
if (scrollPosition) {
window.scrollTo(0, scrollPosition);
sessionStorage.removeItem('scrollPosition'); // Optional: Position entfernen, nachdem sie wiederhergestellt wurde
}
});
Du könntest auch den Scroll-Positionszustand speichern, wenn der Benutzer auf ein Produkt klickt, und dann diese Position verwenden, um wieder dorthin zu scrollen, wenn er/sie zur Produktliste zurückkehrt. Zum Beispiel könntest du beim Klicken auf ein Produkt folgenden Code ausführen:
sessionStorage.setItem('scrollPosition', window.scrollY);
Und dann, wenn der Benutzer auf die Collection-Seite zurückkehrt:
const scrollPosition = sessionStorage.getItem('scrollPosition');
if (scrollPosition) window.scrollTo(0, scrollPosition);
Manchmal können auch bestimmte Einstellungen oder Plugins, die mit der Darstellung oder dem Caching der Seite zu tun haben, solche Probleme verursachen. Überprüfe, ob es irgendwelche spezifischen Einstellungen in Shopify oder verwendete Plugins gibt, die dieses Verhalten beeinflussen könnten.