Stefan Reuther wrote:
> Am 23.03.2021 um 11:10 schrieb Maik Koenig:
>> Am 23.03.2021 um 07:06 schrieb Jan Novak:
>>> Ah, ok, natürlich ... das wäre eine Lösung meines Problems
>>> Zur Info: ... wie machen "großen" Applikation so etwas, welche keinen
>>> Seitenwechsel haben? Die übergeben das doch nicht auf diese Weise?
>>
>>
https://de.wikipedia.org/wiki/Ajax_(Programmierung)
Veraltet. Insbesondere Prototype.js wird heute nicht mehr für
professionelle Anwendungen benutzt: die letzte Version wurde 2015
veröffentlicht, ist damit hoffnungslos veraltet und mit an Sicherheit
grenzender Wahrscheinlichkeit nicht nur voller Sicherheitslücken, sondern
auch inkompatibel zu aktuellen Laufzeitumgebungen.
>> User löst einen event aus, Javascript erzeugt daraus einen
>> XMLHttpRequest und wartet dann auf die Antwort des Servers. Die Antwort
>> wird dann benutzt um die Seite entsprechend anzupassen. Das
>> Endlosscrolling bei Youtube und Co wird z.B. so gemacht. Diese
>> Möglichkeit ist ja gerade der Witz bei Ajax.
Das *war* der Witz. Seit mehr als 10 Jahren spricht jedenfalls der Profi
nicht mehr von „Ajax“; nicht zuletzt weil es in jeder Hinsicht eine
Fehlbezeichnung ist: es muss weder asynchron sein (auch wenn das empfohlen
wird), es muss nicht JavaScript sein, und übertragen werden in der Regel
nicht mehr XML-Dokumente, sondern Daten in JSON.
Inzwischen wird XMLHttpRequest(2) auch schrittweise durch das Fetch API
abgelöst:
<
https://developer.mozilla.org/en-US/docs/Glossary/AJAX>
>> Als Nutzer ist das deutlich angenehmer als eine neue Seite. Ich frage
>> mich auch, warum dein Editor unbedingt in einer neuen Seite geladen
>> werden soll, ich als Nutzer fände ein Overlay für den Editor in 90% der
>> Fälle deutlich angenehmer.
>
> Es kommt wie immer drauf an. Man darf nicht vergessen: wenn die
> komplette Seite neu geladen wird, hat man einen neuen Kontext, auf den
> man ein Bookmark setzen kann. In einem Ticketsystem würde mir das
> ziemlich auf den Zünder gehen, wenn ich auf ein Ticket, das ich aus
> einer Ticketliste geöffnet habe, kein Bookmark setzen kann. Eine
> Ein-Seiten-Lösung müsste sowas simulieren (z.B. per Fragment Identifier).
Deshalb gibt es die Möglichkeit, die auch genutzt wird, dann
window.location.hash zu setzen bzw. "neu" (das Feature gibt es mindestens
seit 2011) mit window.history.pushState(…) einen neuen Zustand der
Applikation zu erzeugen.
<
https://developer.mozilla.org/en-US/docs/Web/API/History/pushState>
Die Web-Applikation sollte dann beim Laden des Dokuments
window.location.hash lesen, um den alten Zustand wiederherzustellen.
Ein bekanntes Beispiel dafür ist Google Maps:
<
https://www.google.com/maps/place/London,
+UK/@51.5456632,-0.765196,176645m/data=!3m1!1e3!4m5!3m4!
1s0x47d8a00baf21de75:0x52963a5addd52a99!8m2!3d51.5073509!4d-0.1277583>
--
PointedEars
FAQ: <
http://PointedEars.de/faq> | <
http://PointedEars.de/es-matrix>
<
https://github.com/PointedEars> | <
http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.