Code conditionnel pour afficher PNG à la place de SVG pour les anciens navigateurs?
Je suis à la recherche d'un moyen d'avoir les anciens navigateurs d'afficher une image au format PNG à la place d'un SVG comme une solution de secours quand il est détecté. Le logo de mon site est actuellement en SVG, mais les navigateurs plus anciens, plus précisément IE 8 et ci-dessous ne sont pas rendues. J'ai déjà le logo en PNG. Quelle est la meilleure façon d'exécuter cette?
Grâce
source d'informationauteur Charlie
Vous devez vous connecter pour publier un commentaire.
Utiliser du code HTML de commentaires conditionnels.
http://msdn.microsoft.com/en-us/library/ms537512%28v=vs.85%29.aspx
Si vous êtes également à la recherche d'un moyen de gérer cela pour les navigateurs autre que IE, vous devez vérifier l'agent de l'utilisateur avec le javascript ou le php.
- Je utiliser le "dégradé transparent" techniquecar il est en CSS uniquement et ne nécessite pas spécifiques à un navigateur hacks.
La technique est basée sur le fait que les navigateurs capables d'utiliser des gradients CSS sont assez moderne à l'appui de rendu SVG. Donc, si nous utilisons une image de fond qui est composé de deux couches, l'une étant le SVG et l'autre étant un gradient, seuls les navigateurs capables de comprendre le gradient de la syntaxe essayez d'afficher le SVG.
Le montre le code suivant de la base de règles CSS:
Avec cette technique, tous les utilisateurs de voir l'image et elle sera affichée à l'aide de SVG pour les dernières versions du navigateur. Le prix à payer est que certaines anciennes versions de navigateurs (tels que IE9 ou Firefox 3.5) qui sont également capables de rendu SVG, mais ne prennent pas en charge les gradients d'affichage de secours version.
Je suggère de réécrire les
src
attributs de vos images SVG lorsque vous détectez (via Modernizr ou similaire) que le navigateur ne prend pas en charge le format SVG en natif. Quelque chose comme:Comment à ce sujet?
Aussi jeter un oeil à SVGeezy.
Pour le suivi Adiabatique du commentaire:
Vous pouvez également définir le secours img chemin que l'attribut data -. Cela permet plus de flexibilité dans votre secours des chemins.
Exemple (HTML +JS):
Je préfère les "commentaires conditionnels SVG de secours technique" pour le contenu des images, tel que décrit par David Goss, si les images sont pas de la décoration.
HTML:
http://davidgoss.co.uk/2013/01/30/use-svg-for-your-logo-and-still-support-old-ie-and-android/
Pour decorational images, j'utilise le "dégradé transparent SVG de secours technique", comme décrit par Pau Giner.
CSS:
http://pauginer.com/post/36614680636/invisible-gradient-technique
Cette méthode a fonctionné pour moi:
Par défaut en vous disant que la variable"$extension" pour être en PNG, mais si la version de votre navigateur est capable de rendu SVG, alors la variable qui va changer à SVG.
Ensuite dans votre code HTML que vous venez de terminer l'extension de fichier en faisant un echo de la variable.
Maintenant votre page web se charge "de l'image.png" ou "de l'image.svg" selon la version de votre navigateur.
Informations importantes:
** afin de rendre ce script fonctionne, vous devez configurer le fichier browscap.ini de sorte que vous pouvez utiliser la fonction PHP "get_browser".
** Les capacités d'un navigateur concernant SVG ont été obtenus à partir de ce site:
https://caniuse.com/#search=svg