Anzeige
Anzeige
UX & Design

Die Vergangenheit im Griff

Mit HTML5 geht auch die HTML5 History API einher, mit der Entwickler per JavaScript den Verlauf des Browsers und das Verhalten des Zurück-Knopfes manipulieren können. So kann man URLs in den Verlauf des Browsers einfügen, ohne eine Seite neu zu laden. Aber warum sollte man das als Entwickler wollen?

3 Min.
Artikel merken
Anzeige
Anzeige

Die Antwort darauf geben vier Buchstaben – AJAX. Jeder JavaScript-Entwickler kennt es, die meisten nutzen es auch fleißig für jede Menge Webanwendungen, die ohne ein einziges Neuladen der Seite auskommen. Für die, die es nicht kennen: Mit AJAX [1] kann man per JavaScript eine Anfrage an den Webserver stellen und den Inhalt der aktuellen Seite manipulieren, ohne dass der Browser die Seite neu laden müsste.

Anzeige
Anzeige

Ein Beispiel hierfür ist das Backend von TYPO3. Es lädt alle Seiten und Inhalte per AJAX, ohne dass je ein einziges Neuladen nötig wäre. Auf der einen Seite ist das praktisch, denn dadurch muss das System die Stylesheets und Scripts nur einmal laden, aber das ganze hat auch einen großen Nachteil. Schaut man sich die Adresszeile des Browsers an, so steht dort immer die gleiche URL, nämlich: „http://www.example.de/typo3/backend.php“.

Warum ist das ein Nachteil? Die URL ist dazu gedacht, um jeder Seite eine eindeutige Adresse zu geben. Nur so kann der Anwender die Seite per URL in den Lesezeichen speichern oder per E-Mail verschicken. Als einfache Regel kann man definieren: Wenn der Nutzer die URL aus der Adresszeile kopiert und in einem neuen Tab öffnet, muss das Angezeigte identisch sein. Doch kopiert man bei TYPO3 irgendwo im Backend die URL und versendet sie per E-Mail, landet der Empfänger nicht auf der Seite, die ihm der Sender eigentlich zeigen wollte, sondern auf der Startseite des Backends.

Anzeige
Anzeige

Ein weiteres Problem ist, dass der Browser durch die AJAX-Aufrufe nichts im Verlauf speichert, der Zurück-Button wird also nutzlos. Diese beiden Probleme kann man als Entwickler jetzt mit der HTML5 History API [2] beseitigen.

Anzeige
Anzeige

Facebooks intelligente Fotoalben

Wie das funktioniert, kann man sich in jedem Facebook-Album ansehen. Vergrößert man ein Bild, erscheinen kleine Pfeile, mit denen man zum nächsten Bild springen kann. Bei einem Klick auf diese Pfeile lädt die Seite aber nicht neu, nur das Bild ändert sich. Klickt man auf den Zurück-Knopf des Browsers, gelangt man wieder zurück zum alten Bild – wieder ohne ein Neuladen der Seite. Was wir hier sehen, ist die History API in Aktion.

Bei einem Klick auf die Pfeile lädt AJAX das neue Bild und der Aufruf „history.pushState(null, null, ’neue URL‘);“ schreibt eine neue URL in die Adresszeile sowie die alte URL in den Browser-Verlauf. Betätigt der Nutzer den Zurück-Button, löst der Browser das Event „popState“ aus, wenn die letzte URL mit pushState eingefügt wurde. Wird dieses Event ausgelöst, muss AJAX das alte Foto laden, der Browser ändert die URL in der Adresszeile automatisch.

Anzeige
Anzeige

Vor- und Nachteile

Was ist also dran an der HTML5 History API? Sollte jeder Entwickler sofort anfangen, sie exzessiv zu nutzen? Jein, denn nicht jede Browser-Version unterstützt die History-API. Firefox [3] hat die API beispielsweise in die Version 4.0 integriert, in den meisten anderen Browsern funktioniert sie auch schon, einzig der Internet Explorer unterstützt sie noch nicht (siehe http://caniuse.com). Wenn man also jetzt schon die HTML5 History API nutzen will, sollte man unbedingt darauf achten, eine Alternative anzubieten [4].

Insgesamt überwiegen aber die Verbesserungen und Vorteile, die sich aus der Nutzung der API ergeben. Facebook macht es mal wieder vor und viele Webanwendungen werden nachziehen – die HTML5 History API ist ein riesiger Schritt in Richtung der Nutzerfreundlichkeit und löst ein Problem, das JavaScript-Entwickler schon seit langem geplagt hat.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige