Lazy loading là gì? Những thông tin cần biết về Lazy loading

Lazy loading là gì là câu hỏi được rất nhiều người quan tâm khi bắt tay vào lập trình hay thiết kế website. Thông thường một website đẹp, chất lượng ngoài nội dung được đăng tải hấp dẫn, bố cục, giao diện đẹp mắt thì hình ảnh hiển thị cũng là điều rất quan trọng. Tuy nhiên vì sử dụng nhiều hình ảnh nên tốc độ tải trang chậm gây ảnh hưởng đến trải nghiệm của người dùng. Chính vì muốn cải thiện điều này nên kỹ thuật Lazy loading mới ra đời và phát triển. Vậy cụ thể kỹ thuật này là gì? Ưu – nhược điểm ra sao? Hãy cùng AIO tìm hiểu trong nội dung dưới đây nhé!

lazy loading la gi

Lazy loading là gì?

Lazy loading là một kỹ thuật được sử dụng phổ biến trên website nhằm tải chậm nội dung, hình ảnh khi chưa cần đến. Hiểu đơn giản là khi sử dụng Lazy loading thì dữ liệu chỉ được tải khi cần thiết. Lazy loading thường được áp dụng cho hình ảnh, bên cạnh đó cũng có thể áp dụng cho nội dung hoặc bất kỳ thông tin, tin tức hiển thị nào khác.

Ví dụ: Khi truy cập vào facebook, nếu bạn kéo xuống tận cùng dưới trang thì nội dung sẽ bị ẩn chưa kịp hiển thị và phải mất 1 khoảng thời gian ngắn để các nội dung tiếp theo được tải lên. Kỹ thuật làm chậm thời gian hiển thị như vậy được gọi là Lazy loading.

Xem thêm: Thiết kế website giáo dục

Tại sao nên sử dụng Lazy loading?

Sử dụng Lazy loading giúp tăng tốc độ tải trang và giúp giảm chi phí, giảm không gian sử dụng, lưu trữ dữ liệu bằng cách giảm lượng bytes transferred. Lazy loading được sử dụng nhiều trong lập trình, thiết kế website và có thể sử dụng trong bất kỳ resource nào trên page kể cả với file JavaScript. Vậy có phải khi xây dựng website nào cũng nên sử dụng Lazy loading không?

Tuy có ứng dụng tốt nhưng Lazy loading chỉ nên sử dụng trong các trường hợp sau:

  • Hiểu rõ về khách hàng mục tiêu, đặc biệt là nhu cầu sử dụng và thiết bị điện tử khách hàng sử dụng. Để Lazy loading phát huy tốt thì cần thiết bị hiển thị có kết nối tốt và bộ vi xử lý tốc độ cao. Các yếu tố này thường có trên các dòng điện thoại tầm trung trở lên. Do vậy, chỉ khi hiểu rõ về khách mục tiêu thì mới áp dụng Lazy loading vào website nhằm tránh gây phản tác dụng.
  • Áp dụng vào những hình ảnh, nội dung không cần thiết trong blog, website, photography portfolio. 

Riêng đối với các trang web thương mại điện tử, các cửa hàng online thì không nên sử dụng kỹ thuật Lazy loading để tránh gây giảm khả năng trải nghiệm, mua sắm của khách hàng. Kỹ thuật này sẽ làm hình ảnh không hiển thị hết 1 lần mà chỉ hiển thị khi cách khung hình trước đó một khoảng cách nhất định. Do vậy nếu áp dụng cho các website thương mại điện tử sẽ khiến khách hàng khó tìm được sản phẩm đang có nhu cầu mua sắm, điều này sẽ gây ảnh hưởng đến việc đánh giá chất lượng website và hiệu quả kinh doanh của doanh nghiệp.

Trong một vài trường hợp buộc phải phụ thuộc vào JavaScript thì người lập trình có thể sử dụng thư viện lazysizes. Thư viện này sẽ chịu trách nhiệm phục vụ Lazy loading và tạo ra các hình ảnh tương thích một cách nhanh chóng khi người truy cập tìm kiếm.

Ưu – Nhược điểm khi sử dụng Lazy loading

Lazy loading là kỹ thuật được sử dụng phổ biến hiện nay và chúng có những ưu – nhược điểm sau:

  • Ưu điểm khi sử dụng Lazy loading

Ưu điểm của việc áp dụng kỹ thuật này vào trang web bao gồm:

  • Tiết kiệm chi phí: Bạn sẽ không tốn chi phí băng thông cho những nội dung chưa tải, chưa xem hoặc không nhìn thấy.
  • Tăng tốc độ tải trang: Vì không phải tải xuống và hiển thị toàn bộ nên tốc độ tải trang cũng sẽ nhanh chóng hơn.
  • Tăng lưu lượng truy cập: Vì khách hàng sẽ thích truy cập vào những website có tốc độ load trang, hiển thị nhanh chóng, đủ thông tin yêu cầu.
  • Tiết kiệm dung lượng: Việc chậm tải nội dung, hình ảnh chưa sử dụng đến giúp tiết kiệm nhiều dung lượng trên CPU, GPU, bộ nhớ, băng thông,…

 

  • Nhược điểm khi sử dụng Lazy loading

Nhược điểm của kỹ thuật này bao gồm:

  • Tạo nên sự nhấp nháy nội dung còn thiếu sẽ ảnh hưởng đến sự trải nghiệm của khách hàng. Tuy nhiên nhược điểm này chỉ xuất hiện khi thiết bị sử dụng đã quá tải, không đủ tốc độ tải trang hoặc băng thông kém.
  • Thao tác thực hiện Lazy loading khá rắc rối nên đòi hỏi nhiều JavaScript. Điều này đồng nghĩa với việc tốn nhiều thời gian thực hiện và dễ xảy ra các lỗi sai trong quá trình hoạt động.

Cách sử dụng Lazy loading image trên website

Để cài đặt Lazy loading image trên website thì người lập trình sử dụng 02 phương pháp là sử dụng thẻ Img hoặc background-image của CSS.

Xem thêm: Thiết kế website tại Lào Cai

  • Sử dụng thẻ Img

Thẻ Img có định dạng như sau:

< img src=”/path/to/some/image.jpg” />

Khi thực hiện tải ảnh thì trình duyệt sẽ đọc tới src attribute để trigger. Do vậy muốn áp dụng lazy image thì bạn sẽ phải di chuyển link image qua một attribute khác nhằm chặn việc tải hình ảnh này xuống page. 

Ví dụ sau khi chuyển link image thì thẻ sẽ có dạng như sau:

< img data-src=”https://ik.imagekit.io/demo/default-image.jpg” />

Sau khi đã chặn thành công việc load image tức thời thì bạn cần thông báo tới trình duyệt để trình duyệt biết khi nào nên load image trở lại. Khi đó, bạn sử dụng Javascript để thực hiện và add link từ data-src vào lại attribute src.

  • Sử dụng background-image

Khi sử dụng background-image thì trình duyệt sẽ xây dựng lên DOM kèm theo CSSDOM. Sau đó, trình duyệt tiến hành kiểm tra kiểu CSS có sử dụng được cho nút DOM mới xây dựng lên hay không. Nếu nút DOM có hiển thị background-image thì trình duyệt sẽ tải hình ảnh xuống website. 

Cách thiết lập tương tự như src attribute, nghĩa là cài đặt cho DOM có giá trị background-image: none sau đó sẽ thay đổi giá trị khi cần thiết. Bạn không thể bỏ qua class để trigger đến đối tượng thông qua background-image.

Dưới đây là 2 link code tương ứng cho 02 cách thiết lập trên bạn có thể tham khảo:

  • Image Lazy Loading

https://codepen.io/imagekit_io/pen/MBNwKB 

  • Background-Image lazy loading

https://codepen.io/imagekit_io/pen/RBXVrW 

cach su dung lazy loading

Sử dụng Lazy loading có hại gì hay không?

Kỹ thuật Lazy loading có nhiều tác dụng đối với website, tuy nhiên khi sử dụng người dùng có thể gặp phải một số vấn đề sau:

  • Trang web bị nhảy khi load hình ảnh

Vì trước khi load, website sẽ không biết kích thước chính xác hình ảnh để hiển thị, vì vậy trong một vài trường hợp sau khi load hình ảnh sẽ khiến nội dung hiển thị trước đó bị lệch và làm mất thẩm mỹ. Tuy nhiên bạn có thể sửa lỗi này nhanh chóng khi nhờ sự hỗ trợ của AIO.

  • Khi web bị tắt JavaScript

Khi tắt JavaScript thì việc sử dụng Intersection Observer hay scroll sẽ không thực hiện được mà còn gây ảnh hưởng đến khả năng load và hiển thị của tấm ảnh. Khi đó bạn phải thêm thẻ noscript để sửa lỗi.

  • Làm ảnh hưởng đến SEO

Khi sử dụng kỹ thuật này thì việc tải ảnh bị chậm do đó GoogleBot hoặc các công cụ đánh giá khác sẽ cho rằng hình ảnh đó bị lỗi, khiến việc đánh giá hiệu quả sử dụng của trang thấp hơn. Điều này gây ảnh hưởng đến việc SEO website và có thể làm giảm thứ hạng trên các trình duyệt tìm kiếm.

  • Tốn nhiều mã code JavaScript khi thực hiện Lazy loading 

Nếu chỉ sử dụng Lazy loading cho một số ít tấm hình thì bạn nên hạn chế sử dụng để tránh làm tốn mã code JavaScript. Bạn có thể thay thế bằng cách optimize tấm ảnh hoặc dùng đến native lazy-load.

Trên đây là thông tin Lazy loading là gì cũng như các kiến thức khác về kỹ thuật này. Để hiểu rõ hơn về Lazy loading hoặc thiết lập website chuyên nghiệp, hiện đại thì hãy sử dụng dịch vụ của công ty AIO. Là đơn vị chuyên thiết kế website, AIO đem đến cho bạn những dịch vụ chất lượng nhất với hiệu quả cao nhất. Vui lòng truy cập Thiết Kế Website: https://thietkewebaio.com/ AIO chuyên nghiệp để tìm hiểu thêm nhé!.

Share on facebook
Share on twitter
Share on pinterest

Bài viết liên quan