Rumah pembangunan bahagian belakang tutorial php Bagaimana untuk meningkatkan kelajuan akses laman web PHP melalui pemuatan malas?

Bagaimana untuk meningkatkan kelajuan akses laman web PHP melalui pemuatan malas?

Aug 07, 2023 am 11:13 AM
php Malas memuatkan Kelajuan akses

Bagaimana untuk meningkatkan kelajuan akses laman web PHP melalui pemuatan malas?

Lazy Loading ialah teknologi pengoptimuman biasa yang boleh meningkatkan kelajuan akses tapak web, mengurangkan pemuatan sumber yang tidak perlu dan meningkatkan pengalaman pengguna. Dalam pembangunan laman web PHP, pemuatan malas biasanya digunakan untuk melambatkan pemuatan imej, video, skrip dan sumber lain.

Artikel ini akan memperkenalkan cara meningkatkan kelajuan akses tapak web PHP melalui pemuatan malas, dan menunjukkannya melalui contoh kod.

  1. Gunakan perpustakaan pemalam memuatkan malas

Pemuatan malas biasanya memerlukan bantuan perpustakaan pemalam. Pada masa ini, terdapat banyak perpustakaan pemuatan malas yang sangat baik untuk dipilih, seperti Lazy Load, Unveil.js, dsb. Pustaka pemalam ini boleh diperkenalkan melalui npm atau CDN, yang mudah dan pantas.

Berikut ialah contoh kod yang menggunakan perpustakaan pemalam Lazy Load untuk melaksanakan pemuatan malas imej:

<!-- 在<head>标签中引入Lazy Load插件库 -->
<script src="https://cdn.jsdelivr.net/npm/lazyload/lazyload.js"></script>

<!-- 在<img>标签中添加"data-src"属性,将图片的真实地址放到"data-src"中,同时添加"class"属性指定懒加载样式-->
<img class="lazy" data-src="path/to/your/image.jpg" alt="">

<!-- 在<script>标签中初始化Lazy Load插件 -->
<script>
  document.addEventListener("DOMContentLoaded", function() {
    var lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));

    if ("IntersectionObserver" in window) {
      let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
        entries.forEach(function(entry) {
          if (entry.isIntersecting) {
            let lazyImage = entry.target;
            lazyImage.src = lazyImage.dataset.src;
            lazyImage.classList.remove("lazy");
            lazyImageObserver.unobserve(lazyImage);
          }
        });
      });

      lazyImages.forEach(function(lazyImage) {
        lazyImageObserver.observe(lazyImage);
      });
    }
  });
</script>
Salin selepas log masuk

Dalam kod sampel di atas, kami menambahkan data-src< dalam <code><img&gt ; tag /code> atribut, dan tetapkan alamat sebenar imej kepada data-src. Pada masa yang sama, kami juga menambah atribut class untuk menentukan gaya pemuatan malas. <img>标签中添加了data-src属性,并将图片的真实地址赋值给data-src。同时,我们还添加了class属性来指定懒加载样式。

<script>标签中,我们首先使用document.querySelectorAll方法选择了所有具有lazy类的图片,然后使用IntersectionObserver监听图片是否进入视窗。当图片进入视窗时,我们更新了src属性的值,将真实的图片地址赋给src,并移除lazy类,以显示真实图片。最后,我们调用observe方法开始观察所有的懒加载图片。

  1. 懒加载音视频资源

除了图片,懒加载也可以用于音视频资源。我们可以通过监听页面滚动事件,判断音视频元素是否在视窗范围内,并在需要时加载和播放。

以下是一个使用懒加载实现视频懒加载的示例代码:

<video src="path/to/your/video.mp4" controls muted loop autoplay preload="none" id="lazy-video"></video>

<script>
  document.addEventListener("DOMContentLoaded", function() {
    var lazyVideo = document.getElementById("lazy-video");

    window.addEventListener("scroll", function() {
      var rect = lazyVideo.getBoundingClientRect();
      var inViewPort = (rect.top >= 0 && rect.bottom <= window.innerHeight);
      if (inViewPort) {
        lazyVideo.src = lazyVideo.dataset.src;
      }
    });
  });
</script>
Salin selepas log masuk

在上述示例代码中,我们首先在<video>标签中添加了preload="none"属性,以指定视频为不主动预加载。然后,我们在<script>标签中监听了页面滚动事件,并通过getBoundingClientRect方法获取视频元素的位置信息。最后,我们判断视频是否在视窗范围内,如果是,则将真实的视频地址赋给src

Dalam teg <script>, kami mula-mula menggunakan kaedah document.querySelectorAll untuk memilih semua imej dengan kelas lazy, dan kemudian gunakan IntersectionObserver memantau sama ada imej memasuki tetingkap. Apabila imej memasuki tetingkap, kami mengemas kini nilai atribut src, menetapkan alamat imej sebenar kepada src dan mengalih keluar kelas lazy untuk menunjukkan gambar sebenar. Akhir sekali, kami memanggil kaedah memerhati untuk mula memerhati semua imej yang malas memuatkan.

    Malas memuatkan sumber audio dan video🎜🎜🎜Selain gambar, malas memuatkan juga boleh digunakan untuk sumber audio dan video. Kami boleh memantau acara tatal halaman untuk menentukan sama ada elemen audio dan video berada dalam tetingkap, dan memuatkan serta memainkannya apabila diperlukan. 🎜🎜Berikut ialah kod sampel yang menggunakan pemuatan malas untuk melaksanakan pemuatan malas video: 🎜rrreee🎜Dalam kod sampel di atas, kami mula-mula menambahkan preload="none dalam <video> tag "harta benda untuk menyatakan bahawa video tidak dimuatkan secara automatik. Kemudian, kami mendengar acara tatal halaman dalam teg <script> dan memperoleh maklumat kedudukan elemen video melalui kaedah getBoundingClientRect. Akhir sekali, kami menentukan sama ada video berada dalam julat tetingkap Jika ya, tetapkan alamat video sebenar kepada atribut src untuk mula memuatkan dan memainkan video. 🎜🎜Melalui teknologi pemuatan malas, kami boleh mengurangkan jumlah sumber semasa memuatkan halaman awal, dengan itu meningkatkan kelajuan akses tapak web PHP dan memberikan pengalaman pengguna yang lebih baik. Saya harap prinsip pemuatan malas dan kod sampel yang diperkenalkan dalam artikel ini boleh membantu anda. 🎜

Atas ialah kandungan terperinci Bagaimana untuk meningkatkan kelajuan akses laman web PHP melalui pemuatan malas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles