{"id":16869,"date":"2020-04-01T17:55:25","date_gmt":"2020-04-01T10:55:25","guid":{"rendered":"https:\/\/kiencang.net\/?p=15637"},"modified":"2020-04-01T17:55:25","modified_gmt":"2020-04-01T10:55:25","slug":"lazysizes-js-lazy-load-anh-p1","status":"publish","type":"post","link":"https:\/\/kiencang.net\/lazysizes-js-lazy-load-anh-p1\/","title":{"rendered":"Gi\u1edbi thi\u1ec7u th\u01b0 vi\u1ec7n lazysizes.js \u0111\u1ec3 lazy load \u1ea3nh (ph\u1ea7n 1)"},"content":{"rendered":"\n

V\u00e0i l\u1eddi c\u1ee7a ng\u01b0\u1eddi d\u1ecbch: Nh\u1edd b\u00e0i vi\u1ebft v\u1ec1 c\u00e1ch lazy load \u1ea3nh v\u00e0 video<\/a> (c\u00f3 n\u1ed9i dung r\u1ea5t c\u0103n b\u1ea3n) t\u00f4i bi\u1ebft \u0111\u1ebfn c\u00f4ng c\u1ee5 lazysizes.js (c\u1ee7a t\u00e1c gi\u1ea3 c\u00f3 nickname aFarkas), n\u00f3 \u0111\u01b0\u1ee3c khen ng\u1ee3i nhi\u1ec1u (r\u1ea5t hay \u0111\u01b0\u1ee3c nh\u1eafc t\u00ean trong c\u00e1c t\u00e0i li\u1ec7u h\u01b0\u1edbng d\u1eabn t\u0103ng t\u1ed1c c\u1ee7a Google<\/a>), do \u0111\u00f3 t\u00f4i quy\u1ebft \u0111\u1ecbnh \u0111\u1ea7u t\u01b0 th\u1eddi gian t\u00ecm hi\u1ec3u. <\/p>\n\n\n

V\u00ec b\u00e0i kh\u00e1 d\u00e0i n\u00ean \u0111\u01b0\u1ee3c chia l\u00e0m ba ph\u1ea7n. M\u1ed9t l\u1ea7n n\u1eefa th\u00ec b\u00e0i vi\u1ebft d\u1ea1ng n\u00e0y ch\u1ec9 d\u00e0nh cho nh\u1eefng ai mu\u1ed1n \u0111\u00e0o s\u00e2u v\u1ec1 lazy load v\u00e0 c\u00f3 \u00fd mu\u1ed1n tri\u1ec3n khai tr\u00ean c\u00e1c \u1ee9ng d\u1ee5ng m\u00e0 b\u1ea1n s\u1ebd vi\u1ebft sau n\u00e0y. <\/p>\n\n\n

N\u1ebfu \u0111\u01a1n thu\u1ea7n ch\u1ec9 d\u00f9ng WordPress<\/a> b\u1ea1n c\u1ee9 x\u00e0i plugin ki\u1ec3u nh\u01b0 flying images<\/a> hay a3 Lazy Load<\/a> c\u00f3 l\u1ebd s\u1ebd nh\u1eb9 \u0111\u1ea7u h\u01a1n nhi\u1ec1u. Ngo\u00e0i ph\u1ea7n d\u1ecbch n\u1ed9i dung ch\u00ednh, t\u00f4i c\u00f3 \u0111\u01b0a th\u00eam c\u00e1c v\u00ed d\u1ee5 v\u00e0o cho d\u1ec5 hi\u1ec3u. OK, gi\u1edd ch\u00fang ta b\u1eaft \u0111\u1ea7u nh\u00e9.<\/p>\n\n\n


\n\n\n

C\u00f4ng c\u1ee5 n\u00e0y d\u00f9ng \u0111\u1ec3 lazy load \u1ea3nh (g\u1ed3m c\u1ea3 \u1ea3nh \u0111\u00e1p \u1ee9ng v\u00e0 th\u00f4ng th\u01b0\u1eddng), iframe (cho video) c\u00f3 hi\u1ec7u su\u1ea5t cao, th\u00e2n thi\u1ec7n v\u1edbi SEO<\/a>. N\u00f3 x\u00e1c \u0111\u1ecbnh b\u1ea5t k\u1ef3 thay \u0111\u1ed5i n\u00e0o trong khung nh\u00ecn tr\u00ecnh duy\u1ec7t (viewport) m\u00e0 \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t b\u1edfi t\u01b0\u01a1ng t\u00e1c c\u1ee7a ng\u01b0\u1eddi d\u00f9ng (user interaction), CSS ho\u1eb7c JavaScript m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea1n ph\u1ea3i can thi\u1ec7p c\u1ea5u h\u00ecnh (configuration).<\/p>\n\n\n

Link ch\u00ednh th\u1ee9c c\u1ee7a th\u01b0 vi\u1ec7n n\u1eb1m \u1edf \u0111\u00e2y: github.com\/aFarkas\/lazysizes<\/strong><\/a> <\/p>\n\n\n

Lazysizes<\/strong> l\u00e0 th\u01b0 vi\u1ec7n c\u00f3 t\u1ed1c \u0111\u1ed9 cao, t\u1ed1i \u01b0u SEO v\u00e0 t\u1ef1 kh\u1edfi t\u1ea1o (self-initializing) cho m\u1ee5c \u0111\u00edch lazy load \u1ea3nh (bao g\u1ed3m c\u1ea3 \u1ea3nh \u0111\u00e1p \u1ee9ng picture \/ srcset<\/em>), iframe, script \/ widget v\u00e0 nhi\u1ec1u th\u00e0nh ph\u1ea7n kh\u00e1c n\u1eefa. N\u00f3 c\u0169ng \u01b0u ti\u00ean c\u00e1c t\u00e0i nguy\u00ean d\u1ef1a tr\u00ean s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 t\u1ea7m m\u1ee9c quan tr\u1ecdng, trong \u0111\u00f3 lazysizes \u01b0u ti\u00ean c\u00e1c ph\u1ea7n t\u1eed n\u1eb1m trong khung nh\u00ecn v\u00e0 g\u1ea7n khung nh\u00ecn tr\u00ecnh duy\u1ec7t (near view elements) \u0111\u1ec3 t\u1ed1i \u01b0u t\u1ed1c \u0111\u1ed9 t\u1ea3i nh\u1eadn th\u1ee9c (perceived performance) nhanh h\u01a1n.<\/p>\n\n\n

Th\u01b0 vi\u1ec7n n\u00e0y c\u0169ng c\u00f3 th\u1ec3 l\u00e0 c\u00f4ng c\u1ee5 h\u00e0ng \u0111\u1ea7u \u0111\u1ec3 b\u1ea1n t\u00edch h\u1ee3p \u1ea3nh \u0111\u00e1p \u1ee9ng (\u1ea3nh c\u00f3 kh\u1ea3 n\u0103ng co gi\u00e3n theo k\u00edch c\u1ee1 m\u00e3n h\u00ecnh \/ responsive images). N\u00f3 c\u00f3 th\u1ec3 t\u00ednh to\u00e1n t\u1ef1 \u0111\u1ed9ng thu\u1ed9c t\u00ednh sizes<\/em> cho \u1ea3nh \u0111\u00e1p \u1ee9ng c\u1ee7a b\u1ea1n, lazysizes c\u0169ng cho ph\u00e9p b\u1ea1n chia s\u1ebb c\u00e1c truy v\u1ea5n media cho thu\u1ed9c t\u00ednh media<\/em> c\u1ee7a b\u1ea1n b\u1eb1ng CSS, gi\u00fap t\u00e1ch bi\u1ec7t CSS (layout) kh\u1ecfi n\u1ed9i dung \/ c\u1ea5u tr\u00fac (HTML) v\u00e0 n\u00f3 th\u1ef1c hi\u1ec7n t\u00edch h\u1ee3p c\u00e1c \u1ea3nh \u0111\u00e1p \u1ee9ng v\u00e0o trong b\u1ea5t c\u1ee9 m\u00f4i tr\u01b0\u1eddng n\u00e0o theo c\u00e1ch th\u1ef1c s\u1ef1 \u0111\u01a1n gi\u1ea3n. Lazysizes c\u0169ng bao g\u1ed3m m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c plugin t\u00f9y ch\u1ecdn \u0111\u1ec3 m\u1edf r\u1ed9ng h\u01a1n n\u1eefa ch\u1ee9c n\u0103ng c\u1ee7a n\u00f3.<\/p>\n\n\n


\n\n\n
\n
\n

M\u1ee5c l\u1ee5c<\/p>\n