J'ai un code javascript qui applique une transparence alpha. Avant cela, il tente de détecter quel type de transparence le navigateur prend en charge et stocke cela dans une variable pour une utilisation ultérieure. Voici ce que le code ressemble à:Comment détecter correctement le support du navigateur pour l'opacité?
// figure out the browser support for opacity
if (typeof br.backImg.style.opacity != 'undefined')
opacityType = 'opacity';
else if (typeof br.backImg.filters == 'object')
opacityType = 'filter';
else
opacityType = 'none';
Pour Firefox et Safari, la première condition est vraie, pour IE7 la deuxième condition est vrai, mais pour IE6 il tombe à la dernière condition. Pourquoi IE6 n'aurait-il pas d'objet de filtre? Y a-t-il une meilleure façon de détecter cela?
Ceci est des années de retard, mais @some, je pense que vous vouliez mettre o.style.filters et o.style.filter dans votre exemple? – Ryley
@Ryley: Comme vous le dites qu'il était depuis longtemps, et je ne me souviens plus des détails.Je me souviens que j'ai fait le test et je copie et colle habituellement mon code de test à la réponse, donc je pense que je l'ai fait cette fois aussi. Je n'ai plus installé IE6 donc je ne peux pas le tester. Après une recherche rapide, je vois qu'au moins des «filtres» existent sur l'objet comme dans mon code. – some
@Ryley o.style.filter (s) n'existe pas mais o.filter (s) fait donc le code tel que posté est correct. –