Maison > interface Web > js tutoriel > Comment puis-je vérifier de manière fiable si une image a été chargée dans jQuery, y compris la gestion des erreurs ?

Comment puis-je vérifier de manière fiable si une image a été chargée dans jQuery, y compris la gestion des erreurs ?

Barbara Streisand
Libérer: 2024-12-08 15:11:12
original
213 Les gens l'ont consulté

How Can I Reliably Check if an Image Has Loaded in jQuery, Including Error Handling?

jQuery : Vérifier si une image est chargée (gestion des erreurs)

Dans jQuery, vous pouvez vérifier si une image est chargée à l'aide du chargement () et les événements error(). Cependant, il existe une limitation lorsqu'une erreur se produit avant que jQuery n'enregistre ces événements.

Pour résoudre ce problème, vous pouvez vérifier la propriété complète de l'image pour vous assurer qu'elle n'a pas déjà été chargée avant que jQuery puisse agir. Cependant, cette approche ne parvient pas à détecter les erreurs qui se produisent avant que les événements ne soient enregistrés.

Solution :

Une solution plus robuste consiste à vérifier à la fois les propriétés complete et naturalWidth dans le ordre suivant :

function IsImageOk(img) {
  // Check if the image is complete
  if (!img.complete) {
    return false;
  }

  // Check if the image has a valid natural width
  if (img.naturalWidth === 0) {
    return false;
  }

  // Assume the image is okay
  return true;
}
Copier après la connexion

En vérifiant d'abord complet, vous pouvez rapidement déterminer si l'image a déjà été chargée. Si ce n'est pas le cas, vous examinez ensuite naturalWidth, qui fournit la taille réelle de l'image. S'il est nul, l'image n'a pas pu se charger. Cette approche garantit que les succès de chargement et les erreurs avant l'enregistrement de l'événement jQuery sont détectés.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal