Tôi đã thực hiện so sánh giữa hai trang HTML có chứa 1800 hình ảnh một pixel.
Trang đầu tiên tuyên bố những hình ảnh inline:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC">
Trong một giây, hình ảnh tham khảo một tập tin bên ngoài:
<img src="img/one-gray-px.png">
tôi thấy rằng khi tải nhiều lần cùng một hình ảnh, nếu nó được khai báo nội tuyến, trình duyệt thực hiện yêu cầu cho mỗi ảnh (tôi giả sử nó giải mã nó một lần cho mỗi ảnh), trong khi trong trường hợp khác, ảnh được yêu cầu một lần cho mỗi tài liệu (xem hình ảnh so sánh bên dưới).
Tài liệu có hình ảnh nội tuyến tải trong khoảng 250ms và tài liệu có hình ảnh được liên kết sẽ hoạt động trong 30 giây.
(Tested với Chromium 34)
Kịch bản của một tài liệu HTML với nhiều trường hợp của hình ảnh trong dòng tương tự không có ý nghĩa nhiều tiên. Tuy nhiên, tôi thấy rằng plugin jquery lazyload định nghĩa trình giữ chỗ nội dòng theo mặc định cho tất cả hình ảnh "lười", có thuộc tính src
sẽ được đặt thành nó. Sau đó, nếu tài liệu chứa rất nhiều hình ảnh lười, một tình huống như hình được mô tả ở trên có thể xảy ra.
![Timeline comparison](https://i.stack.imgur.com/5oeOP.png)
Nguồn
2014-05-21 09:43:02
Bạn cũng sẽ được hưởng lợi rất nhiều từ số lượng yêu cầu HTTP cũng giảm. –
Hãy xác định "nhanh hơn" như sau: thời gian để người dùng xem trang web HTML được hiển thị đầy đủ – Tim