Bagaimanakah saya boleh memaparkan bar kemajuan yang sedang berjalan semasa memuatkan halaman menggunakan acara XMLHttpRequest?

DDD
Lepaskan: 2024-10-29 10:38:29
asal
788 orang telah melayarinya

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

Memaparkan Bar Kemajuan Yang Berjalan Semasa Pemuatan Halaman

Untuk menunjukkan bar kemajuan yang sedang berjalan semasa halaman sedang dimuatkan, pendekatan yang berbeza daripada memaparkan imej pemuatan statik diperlukan. Ini boleh dicapai dengan menggunakan peristiwa kemajuan yang disediakan oleh objek XMLHttpRequest (XHR).

Dalam kod JavaScript yang disediakan dalam soalan, pendengar acara window.load() digunakan untuk menyembunyikan imej pemuatan sebaik sahaja halaman telah selesai dimuatkan. Untuk melaksanakan bar kemajuan, kami boleh menggunakan peristiwa kemajuan objek XHR sebaliknya.

Coretan kod berikut menunjukkan cara menggunakan peristiwa kemajuan XHR untuk memaparkan bar kemajuan yang sedang berjalan:

<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>
Salin selepas log masuk

Kod ini menyediakan permintaan XHR dengan pendengar acara kemajuan untuk kemajuan muat naik dan muat turun. Apabila kemajuan sama ada muat naik atau muat turun berubah, pendengar acara akan dicetuskan dan anda boleh mengemas kini bar kemajuan anda dengan sewajarnya.

Pernyataan console.log() dalam kod adalah untuk tujuan demonstrasi. Anda boleh menggantikannya dengan kod anda sendiri yang mengemas kini penampilan bar kemajuan berdasarkan nilai peratusLengkap.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memaparkan bar kemajuan yang sedang berjalan semasa memuatkan halaman menggunakan acara XMLHttpRequest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan