Détecter avec JavaScript ou jQuery si la transformation CSS 2D est disponible
Je suis l'affichage d'un élément sur mon site, j'alterne avec -90deg
mais si un navigateur ne supporte pas les CSS transformer l'élément
regarde misspositioned et pas vraiment bon.
Maintenant, je veux détecter à l'aide de JavaScript ou jQuery (il est indifférent
si jQ ou JS parce que je utiliser/chargé déjà jQ sur mon site) si cette rotation via CSS est pris en charge?
Je sais Modernizr mais juste pour que peu de chose que je ne veux pas d'inclure l'ensemble de la bibliothèque (et de la vitesse sur le site de la vitesse de la charge).
source d'informationauteur Poru | 2011-08-27
Vous devez vous connecter pour publier un commentaire.
Voici une fonction sur la base de Liam réponse. Il sera de retour, soit le nom de la première soutenu préfixe ou
false
si aucune de ces préfixes sont pris en charge.C'est à peu près aussi simple que vous les obtenez et d'un jsfiddle. Il ne va plus sur une boucle infinie.
Voici le code que j'utilise pour détecter si CSS3 transitions sont pris en charge:
Je suis volontairement pas à la recherche de support technique de Microsoft depuis que Microsoft n'a pas encore été envoyés à un navigateur qui prend en charge CSS3 transitions et je ne veux pas que mon code automatiquement soutenir une mise en œuvre, je n'ai pas encore testé dans l'avenir.
Il suffit de tirer ce dont vous avez besoin de Modernizr
Nous avons d'abord besoin de la testProps fonction
Puis exécutez le cssTransform test
si les tests['csstransforms'] est vrai, alors vous avez la fonction est disponible.
Ce code tests pour transformations 2D soutien.
Il peut être facilement ajusté pour détecter 3D transforme appui à la place. Ajoutez 'translateZ(1)' pour tester CSS (voir
defaultTestValues
dans le code source).Le plus de ce code est qu'il détecte le vendeur préfixe de prise en charge (le cas échéant). Appeler:
Valeurs de retour possibles:
false
lors de la fonctionnalité non prise en charge, oulors de la fonctionnalité prise en charge