Je lisais la page Favicon sur Wikipedia. Ils mentionnent la spécification HTML 5 pour Favicon:
La spécification HTML5 actuelle recommande de spécifier des icônes de taille dans plusieurs tailles à l'aide des attributs rel = "icon" size = "liste des dimensions des icônes séparées par des espaces" dans une balise. [ source ] Plusieurs formats d'icônes, y compris des formats de conteneurs tels que les fichiers Microsoft .ico et Macintosh .icns, ainsi que des graphiques vectoriels évolutifs peuvent être fournis en incluant le type de contenu de l'icône sous la forme type = "file content-type" dans le marque.
En regardant l'article cité (W3), ils montrent cet exemple:
<link rel=icon href=favicon.png sizes="16x16" type="image/png">
<link rel=icon href=windows.ico sizes="32x32 48x48" type="image/vnd.microsoft.icon">
<link rel=icon href=mac.icns sizes="128x128 512x512 8192x8192 32768x32768">
<link rel=icon href=iphone.png sizes="57x57" type="image/png">
<link rel=icon href=gnome.svg sizes="any" type="image/svg+xml">
Ma question est la suivante: certains navigateurs prennent-ils en charge la méthode HTML 5?
Remarque: je sais qu'Apple utilise sa apple-touch-icon
méthode de balise Meta plutôt que la méthode HTML5.
L'article de Wikipédia affirme:
Cependant, le navigateur Web Google Chrome sélectionnera la taille la plus proche de celle fournie dans les en-têtes HTML pour créer des icônes d'application de 128 × 128 pixels lorsque l'utilisateur choisit les raccourcis Créer des applications ... dans le menu "Outils".
Comment Internet Explorer (v9 à v11) et Firefox gèrent-ils cela? Et l'article est-il correct dans la façon dont Chrome gère les favicons HTML? (Aucune source citée pour Chrome ne le confirme.)
En recherchant, je n'ai pas vraiment trouvé d'informations (crédibles) sur HTML 5 Favicon autre que l'article Wikipedia.
Réponses:
Les réponses fournies (au moment de cet article) sont des réponses de lien uniquement, alors j'ai pensé que je résumerais les liens en une réponse et ce que j'utiliserai.
Lorsque vous créez des favicons de navigateur croisé (y compris des icônes tactiles), plusieurs éléments doivent être pris en compte.
Le premier (bien sûr) est Internet Explorer. IE ne prend pas en charge les favicons PNG jusqu'à la version 11. Notre première ligne est donc un commentaire conditionnel pour les favicons dans IE 9 et inférieurs:
Pour couvrir les utilisations de l'icône, créez-la à 32x32 pixels. Notez que
rel="shortcut icon"
pour que IE reconnaisse l'icône, il a besoin du motshortcut
qui n'est pas standard. Nous enveloppons également le.ico
favicon dans un commentaire conditionnel IE car Chrome et Safari utiliseront le.ico
fichier s'il est présent, malgré les autres options disponibles, pas ce que nous souhaiterions.Ce qui précède couvre IE jusqu'à IE 9. IE 11 accepte les favicons PNG, cependant, IE 10 ne le fait pas. De plus, IE 10 ne lit pas les commentaires conditionnels, donc IE 10 n'affichera pas de favicon. Avec IE 11 et Edge disponibles, je ne vois pas IE 10 largement utilisé, donc j'ignore ce navigateur.
Pour le reste des navigateurs, nous allons utiliser la méthode standard pour citer un favicon:
Cette icône doit avoir une taille de 196 x 196 pixels pour couvrir tous les appareils pouvant utiliser cette icône.
Pour couvrir les icônes tactiles sur les appareils mobiles, nous allons utiliser la méthode exclusive d'Apple pour citer une icône tactile:
L'
rel="apple-touch-icon-precomposed"
utilisation n'appliquera pas la brillance réfléchissante lors de la mise en signet sur iOS. Pour que iOS applique la brillance, utilisezrel="apple-touch-icon"
. Cette icône doit être dimensionnée à 180x180 pixels, car c'est la taille actuelle recommandée par Apple pour les derniers iPhones et iPads. J'ai lu que Blackberry utilisera égalementrel="apple-touch-icon-precomposed"
.À noter: Chrome pour Android déclare:
Tuiles personnalisées pour IE 11+ sur Windows 8.1+
IE 11+ sur Windows 8.1+ offre un moyen de créer des tuiles épinglées pour votre site.
Microsoft recommande de créer quelques vignettes à la taille suivante:
Celles-ci doivent être des images transparentes car nous définirons ensuite un arrière-plan de couleur.
Une fois ces images créées, vous devez créer un fichier xml appelé
browserconfig.xml
avec le code suivant:Enregistrez ce fichier xml à la racine de votre site. Lorsqu'un site est épinglé, IE recherche ce fichier. Si vous souhaitez nommer le fichier xml différemment ou l'avoir dans un emplacement différent, ajoutez cette balise Meta au
head
:Pour plus d'informations sur les vignettes personnalisées IE 11+ et l'utilisation du fichier XML, visitez le site Web de Microsoft .
Mettre tous ensemble:
Pour mettre tout cela ensemble, le code ci-dessus ressemblerait à ceci:
Tuiles Windows Phone Live
Si un utilisateur utilise un Windows Phone, il peut épingler un site Web sur l'écran de démarrage de son téléphone. Malheureusement, lorsqu'ils le font, il affiche une capture d'écran de votre téléphone, pas un favicon (pas même le code spécifique MS référencé ci-dessus). Pour créer une «vignette dynamique» pour les utilisateurs de Windows Phone pour votre site Web, vous devez utiliser le code suivant:
Voici les instructions détaillées de Microsoft, mais voici un synopsis:
Étape 1
Créez une image carrée pour votre site Web, pour prendre en charge les écrans haute résolution, créez-la à une taille de 768x768 pixels.
Étape 2
Ajoutez une superposition cachée de cette image. Voici un exemple de code de Microsoft:
Étape 3
Vous pouvez ensuite ajouter la ligne suivante pour ajouter une épingle pour démarrer le lien:
Microsoft vous recommande de détecter Windows Phone et d'afficher uniquement ce lien à ces utilisateurs, car il ne fonctionnera pas pour les autres utilisateurs.
Étape 4
Ensuite, vous ajoutez quelques JS pour basculer la visibilité de la superposition
Remarque sur les tailles
J'utilise une taille car chaque navigateur réduira l'image si nécessaire. Je pourrais ajouter plus de HTML pour spécifier plusieurs tailles si vous le souhaitez pour ceux qui ont une bande passante inférieure, mais je compresse déjà fortement les fichiers PNG en utilisant TinyPNG et je trouve cela inutile pour mes besoins. De plus, selon la réponse de philippe_b , Chrome et Firefox ont des bogues qui font que le navigateur charge toutes les tailles d'icônes. L'utilisation d'une grande icône peut être préférable à plusieurs petites icônes à cause de cela.
Lectures complémentaires
Pour ceux qui souhaitent plus de détails, consultez les liens ci-dessous:
la source
Non, tous les navigateurs ne prennent pas en charge l'
sizes
attribut:Notez que certaines plates-formes définissent des tailles spécifiques:
manifest.json
si elle est présente. De plus, Chrome utilise l'icône Apple Touch pour les signets .la source
...yet it favors the Apple Touch icon if it finds it.
Je ne suis pas sûr que ce soit complètement vrai, du moins pas à l'avenir. Depuis le site Web de Chrome:The apple-touch-* are deprecated, and will be supported only for a short time. (Written as of beta for m31 of Chrome).