Phi Vũ
New member
Chromium đang chuẩn bị hỗ trợ lazy loading gốc cho video và audio, cho phép trình duyệt chỉ tải nội dung khi người dùng sắp nhìn thấy nó. Động thái này hứa hẹn giảm thời gian tải trang, tiết kiệm dữ liệu và mang lại trải nghiệm lướt web mượt hơn.
Mở đầu
Nhiều trang web chứa video và âm thanh làm chậm thời gian tải vì trình duyệt cố gắng nạp mọi thứ cùng lúc. Lazy loading (tải theo nhu cầu) giải quyết vấn đề này bằng cách hoãn việc tải các tài nguyên nằm ngoài vùng nhìn thấy cho tới khi người dùng cuộn tới.
Hiện tại, trình duyệt dựa trên Chromium (như Google Chrome, Microsoft Edge, Vivaldi…) đã hỗ trợ lazy loading cho ảnh và iframe bằng thuộc tính HTML sẵn có. Tuy nhiên với video và file âm thanh, các website thường phải dùng giải pháp dựa trên JavaScript — ví dụ dùng Intersection Observer — để phát hiện khi nào media xuất hiện trong viewport rồi mới kích hoạt tải. Cách làm này hoạt động nhưng rườm rà, dễ lỗi và không tận dụng được tối đa các tối ưu của trình duyệt.
Một đề xuất của lập trình viên độc lập Helmut Januschka muốn mở rộng thuộc tính loading="lazy" để áp dụng trực tiếp cho thẻ và . Nếu được chấp nhận, các nhà phát triển chỉ cần đặt loading="lazy" trên phần tử media để trình duyệt tự xử lý việc trì hoãn tải, thay vì viết nhiều đoạn mã JavaScript bổ sung.
Tính năng đang được đưa qua quy trình của Chromium và một thay đổi mã gần đây cho thấy khả năng bật mặc định trong bản ổn định. Nếu diễn tiến suôn sẻ, tính năng có thể xuất hiện trên Chrome 148, tuy mốc cụ thể còn phụ thuộc vào thử nghiệm và phản hồi từ cộng đồng phát triển.
Kết luận
Người dùng sẽ được hưởng lợi trực tiếp từ tốc độ tải trang nhanh hơn và tiêu thụ dữ liệu ít hơn, trong khi nhà phát triển có cách tiếp cận đơn giản và nhất quán hơn để quản lý media trên web. Nếu bạn là nhà phát triển, hãy sẵn sàng thử thuộc tính loading="lazy" cho video và audio khi trình duyệt bắt đầu hỗ trợ chính thức.
Nguồn: Digitaltrends
Mở đầu
Nhiều trang web chứa video và âm thanh làm chậm thời gian tải vì trình duyệt cố gắng nạp mọi thứ cùng lúc. Lazy loading (tải theo nhu cầu) giải quyết vấn đề này bằng cách hoãn việc tải các tài nguyên nằm ngoài vùng nhìn thấy cho tới khi người dùng cuộn tới.
Lazy loading hiện nay
Hiện tại, trình duyệt dựa trên Chromium (như Google Chrome, Microsoft Edge, Vivaldi…) đã hỗ trợ lazy loading cho ảnh và iframe bằng thuộc tính HTML sẵn có. Tuy nhiên với video và file âm thanh, các website thường phải dùng giải pháp dựa trên JavaScript — ví dụ dùng Intersection Observer — để phát hiện khi nào media xuất hiện trong viewport rồi mới kích hoạt tải. Cách làm này hoạt động nhưng rườm rà, dễ lỗi và không tận dụng được tối đa các tối ưu của trình duyệt.
Thay đổi sắp tới cho video và audio
Một đề xuất của lập trình viên độc lập Helmut Januschka muốn mở rộng thuộc tính loading="lazy" để áp dụng trực tiếp cho thẻ và . Nếu được chấp nhận, các nhà phát triển chỉ cần đặt loading="lazy" trên phần tử media để trình duyệt tự xử lý việc trì hoãn tải, thay vì viết nhiều đoạn mã JavaScript bổ sung.
Lợi ích khi trình duyệt quản lý lazy loading
- Sạch hơn: ít mã phụ trợ, dễ triển khai cho nhà phát triển.
- Nhanh hơn: trình duyệt có thể tối ưu hóa thứ tự tải tốt hơn so với giải pháp JS thủ công.
- Tiết kiệm dữ liệu: nội dung nằm xa trang không được tải nếu người dùng không cuộn tới.
- Trải nghiệm mượt hơn: trang hiển thị và tương tác nhanh hơn, nhất là trên thiết bị cấu hình thấp hoặc mạng chậm.
- Hành vi nhất quán: video và audio sẽ phù hợp với cách ảnh và iframe đã hoạt động trước đó.
Khi nào người dùng sẽ thấy thay đổi?
Tính năng đang được đưa qua quy trình của Chromium và một thay đổi mã gần đây cho thấy khả năng bật mặc định trong bản ổn định. Nếu diễn tiến suôn sẻ, tính năng có thể xuất hiện trên Chrome 148, tuy mốc cụ thể còn phụ thuộc vào thử nghiệm và phản hồi từ cộng đồng phát triển.
Kết luận
Người dùng sẽ được hưởng lợi trực tiếp từ tốc độ tải trang nhanh hơn và tiêu thụ dữ liệu ít hơn, trong khi nhà phát triển có cách tiếp cận đơn giản và nhất quán hơn để quản lý media trên web. Nếu bạn là nhà phát triển, hãy sẵn sàng thử thuộc tính loading="lazy" cho video và audio khi trình duyệt bắt đầu hỗ trợ chính thức.
Nguồn: Digitaltrends
Bài viết liên quan