Erinnere dich an den letzten Post, den ich gelesen habe

Momentan veröffentliche ich eine Buchreihe mit WP (nicht in Englisch). Bücher, Kapitel und Unterabschnitte sind folgendermaßen angeordnet: Jedes Buch (Kategorie) ist in Kapitel (Unterkategorien) unterteilt, die in Unterabschnitte (Post) unterteilt sind. Die Website ist vollständig geöffnet und benötigt kein Benutzerkonto / Login. Kommentare werden mit dem Disqus-Plugin verwaltet.

Gibt es eine Möglichkeit, ein Cookie mit Navigationsinformationen zu erstellen / zu aktualisieren, sodass die Website automatisch zum letzten Post navigiert, wenn der Leser den nächsten Tag verlässt und zurückkehrt?

BEARBEITEN:

MS Word 2013 hat eine Implementierung einer ähnlichen functionalität. Wenn Sie ein großes Dokument öffnen, wird eine Infobox angezeigt: “Willkommen zurück, dort weitermachen, wo Sie aufgehört haben.” Das wäre eine nette Begrüßung für einen treuen Leser.

Solutions Collecting From Web of "Erinnere dich an den letzten Post, den ich gelesen habe"

Ich mag diese Frage, also habe ich es mir selbst angeschaut. Der beste Weg, um darüber nachzudenken, wäre die Verwendung von localstorage und jQuery, um die aktuelle URL und die Scroll-Position des Benutzers zu speichern. Dann könnten Sie entweder einen Check ausführen, wenn sie zu dieser Seite zurückkehren, oder eine Schaltfläche wie “Weiterlesen” haben, die die URL und die Scroll-Position abrufen würde, um den Benutzer an genau diesen Punkt zu senden.

JS

if(typeof(Storage) !== "undefined") { 

Überprüfen Sie, ob lokaler Speicher unterstützt wird

 var storedResult = localStorage.getItem("location"); var storedURL = localStorage.getItem("url"); 

Holen Sie sich die gespeicherte URL und Scroll Location

  if (storedURL !== 'undefined' && storedResult !== null) { 

Überprüfen Sie, ob die URL gespeichert ist var currentUrl = window.location.href; Hol dir die aktuelle URL

  if (currentUrl != storedURL) { 

Überprüfen Sie, ob die aktuelle URL und die gespeicherte URL nicht übereinstimmen.

Senden Sie den Benutzer an die gespeicherte URL. Wahrscheinlich möchten Sie dies auf einem “Weiterlesen” -Knopf oder etwas anders auslösen, das Sie am Ende Benutzer senden könnten, wo sie nicht gehen möchten.

 } else if (storedResult !== 'undefined' && storedResult !== null) { 

elseif Prüfen Sie, ob der Fenster-Scroll-Ort gespeichert ist.

  $(window).scrollTop(storedResult); 

Scrollen Sie zu diesem Ort.

 } } $(window).scroll(function () { 

Beim Scroll-Ereignis

  var scrolledDown = window.scrollY; var currentUrl = window.location.href; 

Hol dir den Fensterrolltrank und die URL

  localStorage.setItem("location", scrolledDown); localStorage.setItem("url", currentUrl); 

im lokalen Speicher speichern.

 }); } else { //No Web Storage Support. } 

Alle zusammen

 if(typeof(Storage) !== "undefined") { //Check is local storage is supported var storedResult = localStorage.getItem("location"); var storedURL = localStorage.getItem("url"); //Get the Stored URL and Scroll Location if (storedURL !== 'undefined' && storedResult !== null) { //Check if the URL is stored var currentUrl = window.location.href; //Get the current URL if (currentUrl != storedURL) { //Check if the current URL and Stored URL Do Not match. // send user to stored URL. You would probably want to trigger this on a "continue reading" button or something otherwise you could end up sending users where they dont wish to go. } else if (storedResult !== 'undefined' && storedResult !== null) { //elseif check if the window scroll location is stored. $(window).scrollTop(storedResult); //scroll to that location. } } $(window).scroll(function () { //On scroll event var scrolledDown = window.scrollY; var currentUrl = window.location.href; // get the window scroll potion and url localStorage.setItem("location", scrolledDown); localStorage.setItem("url", currentUrl); // store in local storage. }); } else { // No Web Storage Support. } 

Demo

JSFiddle: https://jsfiddle.net/fg9uok4L/

Ressourcen

jQuery .scrollTop: http://api.jquery.com/scrollTop/ jQuery .scroll: http://api.jquery.com/scroll/ LocalStorage: http://www.smashingmagazine.com/2010/10/local- Speicher-und-wie-benutze-es /

Nicht sicher auf performance mit dieser nicht getestet.