J'ai construit un slider d'images (basé sur le formidable système de gestion de l'image). bxSlider ) qui préchargera les images juste à temps avant qu'elles ne s'affichent. Cela fonctionne déjà assez bien, mais je ne pense pas que ma solution soit du HTML valide.
Ma technique est la suivante : Je génère le balisage du curseur avec la première image de la diapositive qui est insérée comme d'habitude (avec une balise <img src="foo.jpg">
) et les images suivantes étant référencées dans un attribut de données tel que <img data-orig="bar.jpg">
. Un Javascript jongle ensuite avec les data-orig -> src
changer si nécessaire, ce qui déclenche le préchargement.
En d'autres termes, je l'ai fait :
<div class="slider">
<div><img src="time.jpg" /></div>
<div><img src="data:" data-orig="fastelavn.jpg" /></div>
<div><img src="data:" data-orig="pels_strik.jpg" /></div>
<div><img src="data:" data-orig="fashion.jpg" /></div>
</div>
Pour éviter les vides src=""
(qui sont nuisible à la performance en certains navigateurs ), j'ai inséré src="data:"
pour insérer efficacement une image vierge en guise d'emplacement.
Le truc, c'est que je ne trouve rien dans le documentation pour data-URI disant si c'est une URL de données valide ou non. Je veux essentiellement la data-URI minimale qui se résout en une image vide/transparente, de sorte que le navigateur puisse résoudre la src immédiatement et passer à autre chose (sans erreur ni demande de réseau). Peut-être src="data:image/gif;base64,"
serait mieux ?
0 votes
Utilisez simplement un hachage vide. stackoverflow.com/a/28077004/3841049
0 votes
@iGidas : mauvaise idée, car de nombreux navigateurs effectueront une deuxième demande à la page principale (ce qui aura un impact sur les performances bien pire que l'image originale et créera des entrées déroutantes dans les journaux de votre serveur), essaieront d'interpréter le HTML comme une image, lanceront une erreur et provoqueront potentiellement de véritables erreurs d'application (par exemple, dans les paniers d'achat / pages de paiement où le "rafraîchissement de la page" entraîne l'ajout de nouveaux articles dans le panier ou déclenche des mesures de sécurité).
0 votes
Qu'en est-il de l'actuel
data:image/gif;base64,
utilisé comme unsrc
? Ou encore plus courtdata:,
se terminant par un coma. Il semble que ce soit du HTML valide et qu'il fonctionne dans tous les navigateurs modernes sans aucune erreur. Des arguments contre son utilisation ?