Lozad.js 및 Yall.js와 같은 JavaScript 라이브러리는 이미지, 비디오 및 iframes의 게으른로드를 빠르고 쉽게 구현할 수 있습니다. 교차로 관찰자 API를 사용하지만 브라우저 호환성을 고려해야합니다.
1
2
이 방법은 타의 추종을 불허합니다. 여분의 오버 헤드가 거의 없으며 HTML에서 게으른 부하 이미지를위한 깨끗하고 간단한 방법입니다. 그러나 대부분의 주류 브라우저는 "로드"속성을 잘 지원하지만 일부 브라우저는 글을 쓰는 시점에 여전히 전폭적 인 지원이 부족합니다.
2
속성에 포함되어 있습니다. 그 이유는 값을 지정할 수 있습니다. 이것은 각 이미지 자리 표시 자 ( 속성이없는 IMG 요소)를 수직 차원을 제공합니다.
이 솔루션의 장점은 구현, 효율적이며 교차하는 것이 쉽다는 것입니다. 관찰자는 대부분의 컴퓨팅 작업을 수행합니다.
Mishunov는 Mishunov가 교차로 관찰자에 대한 훌륭한 자습서를 작성하여 게으른 부하 이미지에 사용했습니다. 그의 해결책은 다음과 같습니다
<code class="language-html"><img src="https://img.php.cn/upload/article/000/000/000/173897821515260.jpg" alt="5 Techniques for Lazy Loading Images to Boost Website Performance ">
<iframe loading="lazy" src="content.html"></iframe></code>
data-src
브라우저 지원 측면에서 IE 11 및 Opera Mini를 제외한 모든 주류 브라우저는 최신 버전의 교차로 관찰자 API를 지원합니다. src
src
min-height
lozad.js JavaScript 라이브러리의 Lazy Loading src
<code class="language-html"><img src="https://img.php.cn/upload/article/000/000/000/173897821665537.jpg" alt="5 Techniques for Lazy Loading Images to Boost Website Performance "></code>
intersectionObserver
<code class="language-css">img { min-height: 100px; /* more styles here */ }</code>
에 추가 할 수 있습니다.
다음으로 기본 구현을 위해 태그의 리소스에 클래스 iterationObserver
를 추가하십시오.
<code class="language-javascript">// 创建配置对象:rootMargin和threshold是接口公开的两个属性 const config = { rootMargin: '0px 0px 50px 0px', threshold: 0 }; // 使用intersectionObserver实例注册配置对象 let observer = new IntersectionObserver(function(entries, self) { // 迭代每个条目 entries.forEach(entry => { // 只处理相交的图片。isIntersecting是接口公开的属性 if(entry.isIntersecting) { // 将图片路径从data-src复制到src的自定义函数 preloadImage(entry.target); // 图片现在已就位,停止观察 self.unobserve(entry.target); } }); }, config);</code>
위 내용은 웹 사이트 성능을 향상시키기위한 게으른로드 이미지를위한 5 가지 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!