dedlfix: SPA - Statusänderung beim Scrollen?

Beitrag lesen

Tach!

Ich möchte eine Single-page Application in plain Vanilla JS erstellen.

Oh je.

Das Menü wird mit internen Seitenankern realisiert.

Ist es sinnvoll, dass auch beim Scrollen eine Statusänderung des fragment identifiers erzielt wird?

Das klingt für mich jetzt nicht unbedingt nach SPA, sondern scheint mir eher nur eine Single Page Website zu sein (ich weiß gar nicht, ob das ein etablierter Begriff ist oder das ganz anders genannt wird). Unter A wie Application verstehe ich jedenfalls sowas, was man auf dem Desktop als Programm geschrieben hätte, das beispielsweise als Ziel hat, irgendwelche Daten zu verwalten, also Datensätze anzuzeigen, zu suchen und zu bearbeiten. Und dann ergibt mein "Oh je" vom Anfang auch mehr Sinn, denn Daten in Eingabefelder zu bringen und von dort zur weiteren Verarbeitung wieder abzuholen, zu validieren und Fehler auszugeben ist etwas, was man ungern zu Fuß macht. Das wird nämlich sehr schnell sehr unübersichtlich - auch dann immer noch, wenn man mit jQuery eine Menge abkürzen kann - und deswegen sind Frameworks wie AngularJS entstanden, mit denen man die einzelnen Teilaufgaben schön separieren kann.

Wie kann man erkennen, welcher State /welche Seite gerade im Viewport sichtbar ist?

Bei SPAs nach meiner Definition tauscht man eher die Ansichten (Views) aus oder öffnet Dialoge, und Scrollen nimmt man nur für lange Listen/Tabellen. Da gäbe es keinen Bedarf, den Anker anhand von Scroll-Positionen zu ändern. Wohl aber ändert sich auch da der Anker oder auch andere Teile der URL, ohne dass die Seite neu geladen werden müsste. Das kann man über die History API erreichen (wenn man nicht gerade den Edge vor sich hat).

dedlfix.