Können wir das “Laden”-Symbol im Browser-Tab steuern?

Lesezeit: 3 Minuten

Ich habe eine Reihe von AJAX-Aufrufen über jQuery. Wenn ein Ajax-Aufruf ausgeführt wird, gibt es keine visuelle Anzeige. Wenn Sie auf einen Link klicken oder auf andere Weise nicht Ajax laden, zeigt der Browser normalerweise ein kleines Ladesymbol oben in der Registerkarte an.

Gibt es eine Möglichkeit, den Browser anzuweisen, dieses kleine Symbol in der Registerkarte anzuzeigen? (Es gibt ungefähr 30 dieser Aufrufe, also hoffe ich, dass ich vermeiden kann, jeden zu modifizieren).

Benutzeravatar von Royi Namir
Royi Namir

Nein, so etwas kann man dem Browser nicht mitteilen.

Aber Sie können Ihre eigene Ladeanzeige machen. Fügen Sie ein verstecktes Element in Ihr Markup ein und verwenden Sie dann die ajaxStart und ajaxStop Ereignisse, um seine Sichtbarkeit zu steuern:

$("#loading_animation").bind({
    ajaxStart: function() { $(this).show(); },
    ajaxStop: function() { $(this).hide(); }
});

ajaxStart wird von jQuery ausgelöst, wenn eine Ajax-Anforderung gestartet wird, wenn keine anderen ausgeführt werden; ajaxStop wird ausgelöst, wenn eine Ajax-Anforderung abgeschlossen ist und keine anderen ausgeführt werden.

  • @MoeSweet und ich habe ihm gesagt, dass er das nicht kann. Gab ihm eine andere Alternative.

    – Royi Namir

    15. November 2011 um 15:48 Uhr

  • @MoeSweet Ich verstehe nicht wirklich, warum Sie diese Antwort ablehnen sollten?

    – Rauben

    15. November 2011 um 15:49 Uhr

  • @Rob Rob, es spielt keine Rolle. Das ist mir eigentlich egal.

    – Royi Namir

    15. November 2011 um 15:50 Uhr

  • Ihre erste Ausgabe der Antwort enthielt diese Zeile nicht “Nein, Sie können dem Browser so etwas nicht mitteilen.”. Down-Vote jetzt freigegeben.

    – Moe Süß

    15. November 2011 um 16:06 Uhr

  • +1; Dies war eine fantastische Antwort auf die Frage (einmal bearbeitet)

    – Andreas Friseur

    22. November 2011 um 23:45 Uhr

Nein.

Aber Sie können das CSS des Cursors ändern.

body {
   cursor:wait;
}

  • Ich habe eine Cursoränderung untersucht, aber in meiner Recherche bringt die Lösung eine Reihe von Problemen mit sich. ZB Das Ladesymbol ist spezifisch für Elemente auf der Seite. Um also eine ganze Seite zu laden, muss ich ein Wrapper-Div um den Body herum hinzufügen, aber das kann bei Firefox zu freakigen Click-Break-Problemen führen. Wenn es darauf ankommt, würde ich lieber ein “Laden …”-Popup hinzufügen.

    – P.Brian.Mackey

    15. November 2011 um 15:48 Uhr


  • Eine großartige, nicht aufdringliche Ladeanzeige!

    – R. de Ruijter

    21. Dezember 2021 um 15:55 Uhr

Benutzeravatar von Matt Stauffer
Matthias Stauffer

Du kannst es absolut. Siehe diesen Beitrag: Website-Favicon dynamisch ändern

Erstellen Sie einfach ein animiertes Symbol einer Ladegrafik und ändern Sie das Symbol während des Ladevorgangs in dieses Symbol.

Das Problem wird sein, dass Sie nicht genau die gleiche Ladegrafik haben, die der jeweilige Browser verwendet, aber ich denke, die Nachricht wird effektiv übermittelt.

  • Favicon ist nicht dasselbe. Keine zwei Browser handhaben dies gleich. Nicht einmal die gleichen Browser/verschiedene Versionen.

    – Andreas Friseur

    22. November 2011 um 23:41 Uhr

  • @AndrewBarber Chrome von Google und Firefox von Mozilla sind zwei verschiedene Browser, tatsächlich zwei sehr beliebte Browser, und sie handhaben dies ziemlich gleich. 🙂

    – Hansenrik

    22. März 2016 um 5:07 Uhr

Bevor ich mich mit Code oder irgendetwas befasse, möchte ich nur sagen, dass dies eine hässliche Lösung ist, aber bei mir hat es tatsächlich funktioniert.

Was ich getan habe, war ein Iframe auf der Website zu platzieren. Dann verstecke ich es mit Anzeige: keine im CSS.

Dann lade ich bei jedem Ajax-Aufruf den Iframe mit einer neuen Seite neu. Dadurch zeigt der Browser den Ladevorgang in der Tab-Leiste an.

Ich weiß, es ist keine schöne Lösung und es hat einige Mängel. Als ob Sie die Dauer des Ladens nicht kontrollieren könnten, wenn der Iframe schneller geladen wird als der Ajax. Aber ich werfe es einfach raus. Vielleicht kann jemand anderes auf dem Konzept aufbauen.

Benutzeravatar von Mubasshir Pawle
Mubashir Pawle

Hier ist eine Alternative.
Vor dem Anruf könnte man das Bild einblenden und dann in der Funktion (nicht nach dem Anruf) wieder ausblenden.

1431380cookie-checkKönnen wir das “Laden”-Symbol im Browser-Tab steuern?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy