Est-il possible de vérifier le support PNG avec jQuery.Support?

Ma question concerne le système de support jQuery .

J’aimerais savoir s’il est possible d’indiquer si le navigateur prend en charge les images PNG d’arrière-plan semi-transparentes à l’aide de cette méthode.

Edit: je ne suis pas intéressé par les solutions CSS à un problème spécifique. J’aimerais savoir si le système de vérification du support technique de jQuery peut vérifier cela . J’apprécie le conseil, mais j’essaie de trouver des informations spécifiques sur la fonctionnalité de support de jQuery.

Je pense que ce n’est tout simplement pas possible, après tout, même IE6 montre les png transparents, il ne montre tout simplement pas la transparence; tous les navigateurs “supportent” les png, vous ne pouvez donc pas vérifier cela.

Si vous pouviez obtenir la couleur d’un pixel spécifique sur une page, vous pourriez bien sûr, mais il semble que ce soit impossible à faire.

Voir aussi Javascript – obtenir des données de pixel de l’image sous l’élément de canvas?

Je n’utilise pas Js pour ce genre de chose …

j’utilise

 .png24 { background-image: url(png24.png); } /* ie6 */ * html .png24 { background-image: url(non-png24.png); } 

jQuery a déconseillé au navigateur de vérifier dans jQuery 1.3. Je ne sais pas quand ils le supprimeront complètement.

Je recommanderais vivement de laisser cette vérification au CSS et / ou aux feuilles de style conditionnelles .

JS ne dispose d’aucun moyen de vérifier la capacité de prendre en charge la transparence alpha sans vérifier les navigateurs.

Peut-être pourriez-vous simplement utiliser jQuery pngFix ou jQuery ifixpng ?

Si cela ne suffit pas, je suggérerais plutôt de rechercher des commentaires conditionnels, comme documenté par MSDN .

Je pense que je comprends ce que vous recherchez après, car j’essaie de faire quelque chose de similaire: si le format PNG alpha est pris en charge, insérez un fichier PNG à l’aide de jQuery. Sinon, ne faites rien.

La seule solution à laquelle je peux penser est d’insérer une DIV à l’aide de jQuery. Ensuite, dans le CSS, vous définissez background-iamge de la DIV sur le PNG que vous souhaitez utiliser, suivi d’un commentaire conditionnel pour alimenter IE6 en un gif transparent.

Je ne l’ai pas encore essayée mais ça devrait marcher.

Corriger les pngs avec javascript est une mauvaise pratique. Vous allez vous retrouver avec un flash de contenu non stylé. CSS et les commentaires conditionnels seraient un meilleur choix.

Vous pouvez utiliser la méthode de Alex.