Maison développement back-end tutoriel php Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?

Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?

Oct 05, 2023 pm 12:13 PM
优化 php函数 图片懒加载

Comment optimiser leffet de chargement paresseux des images via les fonctions php ?

Comment optimiser l'effet de chargement paresseux des images via les fonctions PHP ?

Avec le développement d'Internet, le nombre d'images sur les pages Web augmente, ce qui exerce une pression sur la vitesse de chargement des pages. Afin d'améliorer l'expérience utilisateur et de réduire le temps de chargement, nous pouvons utiliser la technologie de chargement différé d'image. Le chargement paresseux des images peut retarder le chargement des images. Les images ne sont chargées que lorsque l'utilisateur fait défiler vers la zone visible, ce qui peut réduire le temps de chargement de la page et améliorer l'expérience utilisateur.

Lors de l'écriture de pages Web PHP, nous pouvons optimiser l'effet de chargement paresseux des images en écrivant certaines fonctions. Ce qui suit décrit en détail comment implémenter le chargement paresseux d'images via les fonctions PHP.

La première étape consiste à obtenir tous les liens d'images
Tout d'abord, nous devons obtenir les liens vers toutes les images de la page actuelle. Ceci peut être réalisé en utilisant la fonction preg_match_all et les expressions régulières, comme indiqué ci-dessous : preg_match_all 函数和正则表达式来实现,如下所示:

function get_image_urls($html) {
    $pattern = '/<img  class="lazy lazy"  src="/static/imghw/default1.png"  data-src="placeholder.jpg" [^ alt="Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?" >]+src=["']([^"']+)["'][^>]*>/i';
    preg_match_all($pattern, $html, $matches);
    return $matches[1];
}

$html = file_get_contents('http://example.com');
$image_urls = get_image_urls($html);
Copier après la connexion

第二步,生成图片占位符
在页面加载完成之前,我们需要为每个要懒加载的图片生成一个占位符,这样可以避免页面布局的重排。我们可以使用 <img class="lazy lazy" src="/static/imghw/default1.png" data-src="placeholder.jpg" alt="Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?" > 标签的 data-src 属性来保存图片的真实链接,使用占位符显示图片。

function generate_placeholder($image_url) {
    return '<img  class="lazy lazy"  src="/static/imghw/default1.png"  data-src="placeholder.jpg"  data- . $image_url . '" alt="Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?" >';
}

$placeholders = array_map('generate_placeholder', $image_urls);
Copier après la connexion

在上述代码中,placeholder.jpg 是一个占位图片,可以根据实际情况替换为其他图片。lazy 类可以用于标识延迟加载的图片。

第三步,监听页面滚动事件
我们需要监测用户的滚动行为,当用户滚动到图片的可视区域时,我们将图片的真实链接赋值给 src 属性,实现图片的加载。

function load_image($image_url) {
    echo "<script>
        window.addEventListener('scroll', function() {
            var images = document.querySelectorAll('.lazy');
            Array.prototype.forEach.call(images, function(image) {
                var rect = image.getBoundingClientRect();
                if(rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)) {
                    image.src = image.dataset.src;
                    image.classList.remove('lazy');
                }
            });
        });
    </script>";
}

array_map('load_image', $image_urls);
Copier après la connexion

在上述代码中,我们使用 JavaScript 来监听页面的滚动事件,并根据图片是否在可视区域内来判断是否加载图片。

第四步,样式优化
为了优化用户体验,我们可以给图片添加一些渐进加载的效果,如淡入淡出效果。可以通过 CSS 来实现。

.lazy {
    opacity: 0;
    transition: opacity 0.3s;
}

.lazy.show {
    opacity: 1;
}
Copier après la connexion

在 CSS 中,我们为 .lazy 类设置了一个过渡效果。当图片加载完成后,添加 .showrrreee

La deuxième étape consiste à générer des espaces réservés pour les images

Avant le chargement de la page, nous devons charger paresseusement chaque Générer un espace réservé pour l’image, ce qui peut éviter la réorganisation de la mise en page. Nous pouvons utiliser l'attribut data-src de la balise <img alt="Comment optimiser l'effet de chargement paresseux des images via les fonctions php ?" > pour enregistrer le lien réel de l'image et utiliser un espace réservé pour afficher l'image.
rrreee

Dans le code ci-dessus, placeholder.jpg est une image d'espace réservé et peut être remplacée par d'autres images en fonction de la situation réelle. La classe lazy peut être utilisée pour identifier les images chargées paresseusement.

La troisième étape consiste à surveiller l'événement de défilement de la page🎜Nous devons surveiller le comportement de défilement de l'utilisateur lorsque l'utilisateur fait défiler vers la zone visible de l'image, nous attribuons le lien réel de l'image au src. Attribut pour implémenter l'image de chargement. 🎜rrreee🎜Dans le code ci-dessus, nous utilisons JavaScript pour écouter l'événement de défilement de la page et déterminer s'il faut charger l'image en fonction du fait que l'image se trouve dans la zone visible. 🎜🎜La quatrième étape, l'optimisation du style🎜Afin d'optimiser l'expérience utilisateur, nous pouvons ajouter des effets de chargement progressif aux images, tels que des effets de fondu d'entrée et de sortie. Ceci peut être réalisé via CSS. 🎜rrreee🎜En CSS, nous définissons un effet de transition pour la classe .lazy. Lorsque l'image est chargée, ajoutez la classe .show pour afficher l'image. 🎜🎜Résumé🎜Grâce à la fonction PHP ci-dessus, nous pouvons obtenir l'effet de chargement paresseux des images. Tout d’abord, obtenez les liens de toutes les images de la page, puis générez des espaces réservés, écoutez les événements de défilement de page pour déterminer s’il faut charger les images et ajoutez une optimisation de style. Cela peut réduire efficacement le temps de chargement des pages et améliorer l’expérience utilisateur. 🎜🎜Le code fourni ci-dessus n'est qu'un exemple, vous pouvez le modifier et l'optimiser en fonction de vos besoins et de votre situation réelle. J'espère que ça aide ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Optimisation des programmes C++ : techniques de réduction de la complexité temporelle Optimisation des programmes C++ : techniques de réduction de la complexité temporelle Jun 01, 2024 am 11:19 AM

La complexité temporelle mesure le temps d'exécution d'un algorithme par rapport à la taille de l'entrée. Les conseils pour réduire la complexité temporelle des programmes C++ incluent : le choix des conteneurs appropriés (tels que vecteur, liste) pour optimiser le stockage et la gestion des données. Utilisez des algorithmes efficaces tels que le tri rapide pour réduire le temps de calcul. Éliminez les opérations multiples pour réduire le double comptage. Utilisez des branches conditionnelles pour éviter les calculs inutiles. Optimisez la recherche linéaire en utilisant des algorithmes plus rapides tels que la recherche binaire.

Quelle est la performance des fonctions PHP ? Quelle est la performance des fonctions PHP ? Apr 18, 2024 pm 06:45 PM

Les performances des différentes fonctions PHP sont cruciales pour l’efficacité des applications. Les fonctions offrant de meilleures performances incluent echo et print, tandis que les fonctions telles que str_replace, array_merge et file_get_contents ont des performances plus lentes. Par exemple, la fonction str_replace est utilisée pour remplacer des chaînes et a des performances modérées, tandis que la fonction sprintf est utilisée pour formater des chaînes. L'analyse des performances montre qu'il ne faut que 0,05 milliseconde pour exécuter un exemple, prouvant que la fonction fonctionne bien. Par conséquent, une utilisation judicieuse des fonctions peut conduire à des applications plus rapides et plus efficaces.

Comparer les fonctions PHP aux fonctions dans d'autres langages Comparer les fonctions PHP aux fonctions dans d'autres langages Apr 10, 2024 am 10:03 AM

Les fonctions PHP présentent des similitudes avec les fonctions d’autres langages, mais possèdent également des fonctionnalités uniques. Syntaxiquement, les fonctions PHP sont déclarées avec function, JavaScript est déclaré avec function et Python est déclaré avec def. En termes de paramètres et de valeurs de retour, les fonctions PHP acceptent des paramètres et renvoient une valeur. JavaScript et Python ont également des fonctions similaires, mais la syntaxe est différente. En termes de portée, les fonctions en PHP, JavaScript et Python ont toutes une portée globale ou locale, accessibles de n'importe où, et les fonctions locales ne sont accessibles que dans la portée de leur déclaration.

Similitudes et différences entre les fonctions PHP et les fonctions Flutter Similitudes et différences entre les fonctions PHP et les fonctions Flutter Apr 24, 2024 pm 01:12 PM

Les principales différences entre les fonctions PHP et Flutter sont la déclaration, la syntaxe et le type de retour. Les fonctions PHP utilisent une conversion de type de retour implicite, tandis que les fonctions Flutter spécifient explicitement les types de retour ; les fonctions PHP peuvent spécifier des paramètres facultatifs via ?, tandis que les fonctions Flutter utilisent obligatoires et [] pour spécifier les paramètres obligatoires et facultatifs ; les fonctions PHP utilisent = pour transmettre les paramètres de nom, tandis que Les fonctions Flutter utilisent {} pour spécifier des paramètres nommés.

Comment optimiser les éléments de démarrage du système WIN7 Comment optimiser les éléments de démarrage du système WIN7 Mar 26, 2024 pm 06:20 PM

1. Appuyez sur la combinaison de touches (touche Win + R) sur le bureau pour ouvrir la fenêtre d'exécution, puis entrez [regedit] et appuyez sur Entrée pour confirmer. 2. Après avoir ouvert l'éditeur de registre, nous cliquons pour développer [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer], puis voyons s'il y a un élément Sérialiser dans le répertoire. Sinon, nous pouvons cliquer avec le bouton droit sur Explorateur, créer un nouvel élément et le nommer Sérialiser. 3. Cliquez ensuite sur Sérialiser, puis cliquez avec le bouton droit sur l'espace vide dans le volet de droite, créez une nouvelle valeur de bit DWORD (32) et nommez-la Étoile.

La configuration des paramètres du Vivox100 révélée : Comment optimiser les performances du processeur ? La configuration des paramètres du Vivox100 révélée : Comment optimiser les performances du processeur ? Mar 24, 2024 am 10:27 AM

La configuration des paramètres du Vivox100 révélée : Comment optimiser les performances du processeur ? À l’ère actuelle de développement technologique rapide, les smartphones sont devenus un élément indispensable de notre vie quotidienne. En tant qu'élément important d'un smartphone, l'optimisation des performances du processeur est directement liée à l'expérience utilisateur du téléphone mobile. En tant que smartphone haut de gamme, la configuration des paramètres du Vivox100 a attiré beaucoup d'attention, en particulier l'optimisation des performances du processeur a attiré beaucoup d'attention de la part des utilisateurs. En tant que « cerveau » du téléphone mobile, le processeur affecte directement la vitesse de fonctionnement du téléphone mobile.

Quels sont les moyens de résoudre les inefficacités des fonctions PHP ? Quels sont les moyens de résoudre les inefficacités des fonctions PHP ? May 02, 2024 pm 01:48 PM

Cinq façons d'optimiser l'efficacité des fonctions PHP : évitez la copie inutile de variables. Utilisez des références pour éviter la copie de variables. Évitez les appels de fonction répétés. Fonctions simples en ligne. Optimisation des boucles à l'aide de tableaux.

'Black Myth: Wukong ' La version Xbox a été retardée en raison d'une 'fuite de mémoire', l'optimisation de la version PS5 est en cours 'Black Myth: Wukong ' La version Xbox a été retardée en raison d'une 'fuite de mémoire', l'optimisation de la version PS5 est en cours Aug 27, 2024 pm 03:38 PM

Récemment, "Black Myth : Wukong" a attiré une énorme attention dans le monde entier. Le nombre d'utilisateurs en ligne simultanés sur chaque plateforme a atteint un nouveau sommet. Ce jeu a connu un grand succès commercial sur plusieurs plateformes. La version Xbox de "Black Myth : Wukong" a été reportée. Bien que "Black Myth : Wukong" soit sorti sur les plateformes PC et PS5, il n'y a pas eu de nouvelles définitives concernant sa version Xbox. Il est entendu que le responsable a confirmé que "Black Myth : Wukong" serait lancé sur la plateforme Xbox. Cependant, la date précise de lancement n’a pas encore été annoncée. Il a été récemment rapporté que le retard de la version Xbox était dû à des problèmes techniques. Selon un blogueur concerné, il a appris grâce aux communications avec les développeurs et les « initiés Xbox » lors de la Gamescom que la version Xbox de « Black Myth : Wukong » existe.

See all articles