Ladeanimation

  • Hallo zusammen!

    Ich habe mir eine integration des battle.net Logins gebaut. Bei der Registrierung werden ale Daten des World of Warcraft Accounts eingelesen, was je nach Menge der Chars etwas länger dauert. In einem Formular soll sich der Benutzer für ein Turnier anmelden können, dort gibt es zusätzlich ein Button um die Daten zu aktualisieren, es wird also nochmal eine OAuth anfrage an Blizzard gestellt. Auch das dauert wieder etwas länger.

    Wie kann ich bei Klick auf einen Button bzw. eines Links die Woltlab Ladeanimation starten (Alles ausgegraut, das drehende Dingsbums wird angezeigt)?

    Es gibt da bestimmt eine Standardimplementierung und bevor ich mir etwas selbst bastel, frage ich lieber mal nach.

  • Dies wird automatisch bei jedem AJAX Request eingebunden.

    Daher solltest du dies am besten darüber machen sprich im Hintergrund und nicht beim direkt neuladen der Form.

    So etwas könntest du das machen

    ich hoffe das hilft :)

  • Danke für den Hinweiß, über einen Ajaxrequest habe ich auch schon nachgedacht. Das Problem ist, dass der Button einen OAuth Request auslöst. Es kann sein, dass sich der Benutzer im battle.net neu einloggen muss, falls das access_token abgelaufen ist:

    Form: "klick auf Daten aktualisieren" -> RefreshAction: Daten anfordern -> OAuth battle.net -> u.U. Weiterleitung auf eu.battle.net/login -> RefreshAction: Daten verarbeiten, gecachte Inhalte neu erstellen -> Form neu laden (da neue Daten vorhanden sind)

    Ich fürchte ich bekomme das mit AJAX nicht hin. Im Prinzip reicht es mit, wenn der Button einfach das Standard Lade Layer aktiviert. Da die Seite ohnehin neu geladen werden muss, verschwindet es ja dann von alleine.

  • Das kann man auch mit einem Ajax-Request lösen, ist zwar etwas aufwand sollte aber möglich sein.
    Du fragst nach ob der Login noch gültig ist wenn nicht leidest du Ihn per Ajax auf die neue Seite weiter der user logt sich ein und wird auf die Seite wieder zurück geleitet mit einem parameter wo durch das Skript automatisch dann erneut die Daten im Hintergrund abfragt.

    Wäre jetzt mein Vorschlag :)

  • Grundsätzlich kann man ja den OAuth Prozess ja über ein Popup laufen lassen. Ich hatte mich allerdings gegen diese Variante entschieden, weil diverse Browser Popups blockieren. Zudem müsste ich den kompletten Prozeß neu programmieren. Mehhh will ich nicht :)

    Ich bastel mir jetzt einfach ein eigenes Layer. Der Nutzer muss ja nur daran gehindert werden in der Ladezeit andere Knöpfe zu drücken, sowie die Info bekommen "Bitte kurz warten, geht sofort weiter"...

    Denn selbst wenn ich das per AJAX im Hintergrund laden lasse, muss der Benutzer auf jedenfall warten bis die Listen / Selects fertig gefüllt sind. im Bild mal dargestellt was ausgefüllt werden muss:

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!