J'ai rencontré un problème sur Chrome et Safari en utilisant jQuery pour faire des calculs en utilisant les largeurs d'une bande d'images.Les propriétés de l'image font-elles partie du DOM (incompatibilité jQuery - webkit avec d'autres navigateurs)?
Lorsque vous utilisez mes calculs:
$(document).ready(function() {
/* some calculations with $("img").width() */
});
tout fonctionne très bien dans IE6 + et Firefox, mais il ne fonctionne pas dans Chrome et Safari: $ (img) .width() est 0 si l'image est déjà mis en cache ou non.
utilisant:
$(window).load(function() {
/* some calculations with $("img").width() */
});
cela fonctionne dans tous les navigateurs mentionnés ci-dessus, mais le problème est-il que commence lorsque toutes les images sont complètement chargées.
Le comportement de la webkit est-il le comportement attendu ou y a-t-il un bogue webkit/jQuery qui fait que les propriétés de l'image ne font pas partie du DOM?
En cas de problème avec webkit/jQuery: Y a-t-il un moyen de contourner ce problème pour permettre à mon script de s'exécuter plus tôt que dans la solution mentionnée ci-dessus? Par ailleurs, je n'utilise aucune propriété en ligne pour les dimensions de l'image. Par contre, je n'utilise aucune propriété en ligne.
Merci, qui fonctionne bien aussi, mais il ne permet pas vraiment d'images ajoutées dynamiquement à partir d'une base de données; Je ne veux pas calculer chacun avec en php avant d'afficher l'image si je peux l'éviter (pour éviter les frais généraux) ... – jeroen
Vous pouvez précalculer les tailles d'image et les stocker dans la base de données (si vous le pouvez/voulez). Je n'ai pas de navigateur Webkit en main (je suis au travail), donc je ne peux pas essayer de construire un cas de test pour déboguer. – Jeff
J'espérais résoudre tout cela du côté client, si possible. – jeroen