J'utilise JavaScript avec la bibliothèque jQuery pour manipuler des vignettes d'images contenues dans une liste non ordonnée. Lorsque l'image est chargée, elle fait une chose, lorsqu'une erreur se produit, elle fait autre chose. J'utilise jQuery load()
y error()
comme des événements. Après ces événements, je vérifie l'élément DOM de l'image pour le .complete afin de m'assurer que l'image n'était pas déjà chargée avant que jQuery puisse enregistrer les événements.
Il fonctionne correctement, sauf lorsqu'une erreur se produit avant que jQuery puisse enregistrer les événements. La seule solution qui me vient à l'esprit est d'utiliser la fonction img. onerror
pour stocker un "drapeau" quelque part dans le monde (ou sur le nœud lui-même) qui indique que l'opération a échoué, de sorte que jQuery puisse vérifier ce "magasin/nœud" lors de la vérification de .complete.
Quelqu'un a-t-il une meilleure solution ?
Edition : Les points principaux ont été mis en gras et des détails supplémentaires ont été ajoutés ci-dessous : Je vérifie si une image est complète (c'est-à-dire chargée) APRÈS avoir ajouté un événement de chargement et d'erreur sur l'image. De cette façon, si l'image a été chargée avant l'enregistrement des événements, je le saurai quand même. Si l'image n'est pas chargée après les événements, ces derniers s'en chargeront quand elle le sera. Le problème, c'est que je peux facilement vérifier si une image est déjà chargée, mais Je ne peux pas dire si une erreur s'est produite à la place.
0 votes
Quand enregistrez-vous les événements jQuery ? Peut-être que quelques codes vous aideront :)
0 votes
Il y a beaucoup de code, ce que j'ai dit ci-dessus est juste une version très simple de ce que je fais. J'appelle les événements après que le DOM soit chargé, une méthode est appelée pour ajouter des événements aux vignettes.
1 votes
Duplicata possible de Comment puis-je déterminer si une image a été chargée, en utilisant Javascript/jQuery ?