Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie kann ich beim Laden der Seite mithilfe von XMLHttpRequest-Ereignissen einen laufenden Fortschrittsbalken anzeigen?

DDD
Freigeben: 2024-10-29 10:38:29
Original
789 Leute haben es durchsucht

How can I display a running progress bar during page load using XMLHttpRequest events?

Anzeigen eines laufenden Fortschrittsbalkens während des Ladens der Seite

Das Anzeigen eines laufenden Fortschrittsbalkens während des Ladens einer Seite ist ein anderer Ansatz als das Anzeigen eines Es ist ein statisches Ladebild erforderlich. Dies kann durch die Nutzung der vom XMLHttpRequest (XHR)-Objekt bereitgestellten Fortschrittsereignisse erreicht werden.

Im in der Frage bereitgestellten JavaScript-Code wird der window.load()-Ereignis-Listener verwendet, um das Ladebild auszublenden, sobald das Die Seite wurde vollständig geladen. Um einen Fortschrittsbalken zu implementieren, können wir stattdessen die Fortschrittsereignisse des XHR-Objekts nutzen.

Der folgende Codeausschnitt zeigt, wie man XHR-Fortschrittsereignisse verwendet, um einen laufenden Fortschrittsbalken anzuzeigen:

<code class="js">$.ajax({
  xhr: function() {
    var xhr = new window.XMLHttpRequest();
    // Upload progress
    xhr.upload.addEventListener("progress", function(evt) {
      if (evt.lengthComputable) {
        var percentComplete = evt.loaded / evt.total;
        // Update the progress bar here
        console.log(percentComplete);
      }
    }, false);
    // Download progress
    xhr.addEventListener("progress", function(evt) {
      if (evt.lengthComputable) {
        var percentComplete = evt.loaded / evt.total;
        // Update the progress bar here
        console.log(percentComplete);
      }
    }, false);
    return xhr;
  },
  type: 'POST',
  url: "/",
  data: {},
  success: function(data) {
    // Do something success-ish
  }
});</code>
Nach dem Login kopieren

Dieser Code richtet eine XHR-Anfrage mit Fortschrittsereignis-Listenern für den Upload- und Download-Fortschritt ein. Wenn sich der Fortschritt des Uploads oder Downloads ändert, wird der Ereignis-Listener ausgelöst und Sie können Ihren Fortschrittsbalken entsprechend aktualisieren.

Die console.log()-Anweisungen im Code dienen Demonstrationszwecken. Sie können sie durch Ihren eigenen Code ersetzen, der das Erscheinungsbild des Fortschrittsbalkens basierend auf dem „percentComplete“-Wert aktualisiert.

Das obige ist der detaillierte Inhalt vonWie kann ich beim Laden der Seite mithilfe von XMLHttpRequest-Ereignissen einen laufenden Fortschrittsbalken anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage