Ist es möglich, zu schreiben, eine "Unendliche Scrollen", um javascript-Code, kann mit dem zurück-button?
Gehen Sie hier: http://www.infinite-scroll.com/
Spielen Sie mit den unendlichen scrollen. Beachten Sie, dass Sie nicht auf einen link klicken, und drücken Sie dann die "zurück". Hat es Störungen wenn Sie das tun.
So, ich plan auf das schreiben meiner eigenen Unendlichen scrollen.
- Wenn der Benutzer bekommt auf der Unterseite, laden Sie ein AJAX-call. Dann tun Sie ein JQuery - "append" das Ergebnis der div. Dann rufen Sie meine anderen Funktionen auf diesen Elementen. (Ich habe die hintergrund-Bilder alle diese Elemente in javascript).
Wird das funktionieren? Wenn ich das tun...werde ich in der Lage sein zu handhaben, die zurück-Taste?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich aber auf die sehr gleiche Sache, die an einem Projekt arbeitete ich an. Eine option, die ich dachte, war, um zu ermöglichen die Schaltfläche zurück, um zurück zu der Stelle, wo der link geklickt wurde (genauso wie die normalen surfen).
Erstens, Sie brauchen, um zu erfassen, welche Seite des infinite scrolling Ihr auf, so dass Sie laden können, bis zu diesem Abschnitt wieder. Sie können dies tun, mit einigen cleveren Spiel mit den
window.location.hash
Wert. Wenn man sich meine Antwort auf diese Frage, erkläre ich im detail wie man es in reinem JavaScript oder jQuery mit Asual Adresse plugin.Den grundlegenden Teil würde es gerne so:
Ich nicht implementieren, das Letzte bit (immer die position des angeklickten link), aber ich kann nicht sehen, warum es würde nicht funktionieren. Es würde dazu führen, das Fenster zu scrollen, schön wo Sie wo. Man kann es mit einem Anker auf der geladenen Seite statt (aber wenn Sie Blättern, um es, es wird immer am oberen Rand der Seite).
Ein paar Punkte, obwohl, ich würde nicht empfehlen dieses. Zumindest für das Projekt, das ich Tat, es war nicht wirklich notwendig. In meinem Projekt haben wir erwartet, die Benutzer zurück zu gehen, um zu ändern Ihre Optionen und dachte mir, dass das scrollen, wäre das kein problem (obwohl wir nicht so viele Seiten zum durchblättern). Das AJAX und JavaScript zu setzen, Bilder) geladen werden muss, und erneut ausgeführt die braucht viel Zeit, je nachdem wie viele Seiten Sie brauchen, um neu zu laden. Auf der Spitze der Zeit zu Blättern, um den link (man kann nur
window.scrollTo
aber Sie nicht bekommen, die animation ist also alles sehr ruckartig. Man könnte immer nur die Seite geladen war die person auf und vergessen die vorherigen Seiten, aber du bist immer noch brechen die user experience so. Oder (was ich versucht habe) war die Umsetzung einer zwei-Wege-unendliche scrollen. So würde das laden der Seite, die der user geklickt aus undprepend
den vorherigen Seiten, wenn Sie verschoben - das war zu viel Arbeit für das, was es war, aber.Weiterer Punkt ist, dass, wenn Sie es immer noch tun, die Sie verwenden möchten
GET
Anfrage um Ihre Seiten zu erhalten (stellen Sie sicher, dass der cache nicht sofort ablaufen). Ich fand, dass die angeforderten Seiten per Ajax mit der GET-Anfrage aus dem cache nehmen (zumindest bei einigen der Browser, die ich ausprobiert habe). Senden Sie Ihre Angaben über einePOST
wird immer ignorieren den cache.Der einzige Weg, um in der Lage zu handhaben Sie die zurück-Taste ist eine Veränderung der location-hash (das bit nach dem # - Zeichen). Umgang mit betätigen der Schaltflächen zurück und vorwärts kann auf zwei Arten erfolgen:
<a name="bookmark1"></a>
ist einzigartig für jeden Abschnitt Hinzugefügt, und ändern Sie die Position.hash zu entsprechen.setInterval
mit einer kurzen Zeit wie 100 MS zu beobachten, die Lage.hash für Veränderungen und gehen Sie zu dem gewünschten Teil der Seite. Sie müssen dies tun, weil Sie können nicht wirklich erkennen, wenn Sie auf die zurück/vorwärts-Schaltflächen geklickt werden.Dies ist eine Implementierung der zweiten Methode, Ihnen zu zeigen, wie es funktioniert. In jedem ajax-request enthält
<a name="ajax-section-1"></a>
undajax-section-2
etc.localStorage
(developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage) viel einfacher und sicherer für die Speicherung Ihrer letzten Abschnitt eher als der location-hash. Aber ich nehme an, es sind die Vorzüge beider Verfahren.