AJAX zum Laden kompletter Seiten
Jason
- javascript
0 Webpage-SpeedUp
Jurik0 LX
0 molily
Hallo zusammen,
ich habe mich nun seit einigen Tagen intensiver mit AJAX beschäftigt. Zum Nachladen bestimmter Informationen ist das ja alles schön und gut. Bei mir kommt jedoch die Frage auf ob sich AJAX auch zum Laden ganzer Seiten eignet.
Beispiel GMX: Man loggt sich ein und bei jedem Klick auf einen Menüpunkt wird nicht erst die komplette Seite neu geladen sondern mit AJAX der Teil der Seite ausgetauscht. Was in dem Fall ja fast die komplette Seite wäre (bis auf das Menü).
Ist sowas überhaupt möglich bzw. sinnvoll? Denn ich würde gerne in meiner Webanwendung die Ladezeiten der einzelnen Seiten reduzieren. Wobei die Ladezeiten halt in erster Linie durch die Reaktionszeit des Browsers und des Servers entstehen.
Gruß,
Jason
Hallo Jason,
möglich ist es, aber ob es so sinnvoll ist, weiß ich nicht. Denn dann funktioniert die goBack History des Browsers nicht. Und du hättest auch keine direkt-Links zu den 'nachgeladenen' Seiten. Obwohl es natürlich möglich ist, diese per Direktlink anzusprechen, aber niemand würde diese Links kennen oder Copy/Pasten können, da sie ja nicht in der Browserleiste stehen.
Um deine Performance hochzusetzen, gibt es auch nette Mods für den Apache (z.B. expire).
Falls du dennoch Content nachladen magst, dann pass im FireFox auf, sobald der Text-Content über 4096 Zeichen lang ist ;)
Viel Spaß!
Prinzipiell ist es möglich, über ein verstecktes iframe auch die history zum Funktionieren zu bekommen. Die Frage ist jedoch: wie viele Elemente werden durch einen AJAX-Request im Vergleich zum normalen HTTP-Request nicht beim Laden getauscht, die nicht gecached sind...
Gruß, LX
Hallo,
Bei mir kommt jedoch die Frage auf ob sich AJAX auch zum Laden ganzer Seiten eignet.
Was und wieviel du mit XMLHttpRequest beziehst und was du damit machst, ist erst einmal technisch gesehen nicht begrenzt.
Beispiel GMX: Man loggt sich ein und bei jedem Klick auf einen Menüpunkt wird nicht erst die komplette Seite neu geladen sondern mit AJAX der Teil der Seite ausgetauscht. Was in dem Fall ja fast die komplette Seite wäre (bis auf das Menü).
GMX hat ein AJAX-Interface, welches gerade nicht ganze HTML-Dokumente lädt, sondern die Rohdaten in geeigneten Formaten wie JSON vom Server holt.
Wenn das im Browser so aussieht, als würde das ganze Dokument oder große Teile dessen ausgetauscht, indem eine entsprechende HTML-Code-Menge vom Server bezogen wird, so ist das irreführend.
Ist sowas überhaupt möglich bzw. sinnvoll? Denn ich würde gerne in meiner Webanwendung die Ladezeiten der einzelnen Seiten reduzieren.
Wieso sollte das Austauschen des gesamten Dokumentinhaltes, das Herunterladen einer großen HTML-Menge vom Server via XMLHttpRequest, gegenüber dem normalen Dokumentwechsel die Ladezeit reduzieren?
Man kann auf diese Weise höchstens z.B. den gerade angezeigten Inhalt ausgrauen und eine eigene Warte-Animation anzeigen. Dann hat der Anwender ggf. subjektiv das Gefühl, als lade die Seite schneller, weil auf das Klicken eines Links direkt reagiert wird - wenn auch mit einer Warte-Animation.
Das ist aber weder Sinn von »AJAX«, denn AJAX ist als Bruch mit der Stop'n'Go-Logik definiert, noch ist unter dem Strich eine kürzere Ladezeit zu verzeichnen.
Mathias