17 votes

Comment faire en sorte que les icônes des favoris de Safari (alias favicons) s'affichent correctement ?

J'utilise Safari sur MacOS Sierra. J'ai ajouté plusieurs sites couramment utilisés à ma section de favoris, comme ceci :

My favorites icons

(il y a 10 icônes, et toutes sauf 2 sont affichées comme l'icône correcte du site. Par exemple, l'icône Wikipédia comporte l'icône W large. En revanche, pour Google Drive et Gmail, les icônes ne sont que des G génériques, gros et moches).

J'aimerais que les deux sites Google affichent également correctement leurs icônes. Au début, j'ai pensé que c'était parce que les 8 sites "correctement affichés" avaient réussi à configurer leurs "paramètres Safari" ou quelque chose comme ça, alors que Google n'a pas réussi à le faire (bien que cela ne semble pas trop plausible).

Cependant, si je vais plutôt dans le menu supérieur de Safari, que je clique sur Signets > Afficher les signets, j'obtiens ce qui suit :

My bookmarks list

Étrangement, ce temps, les deux sites Google faire ont des icônes correctement affichées, alors qu'il s'agit plutôt de trois autre sites (sur les 10) qui ne sont pas affichés : à savoir Wikipedia, Amazon et le New York Times.

Il semble donc qu'il y ait deux et pour les grandes icônes, Google Drive et Gmail ne s'affichent pas correctement, alors que les 8 autres le font. petit icônes, Google Drive et Gmail sont s'affichent correctement, tandis que Wikipedia, Amazon et NYTimes sont pas .

En fait, je ne me soucie pas trop des petites icônes, mais j'aimerais vraiment que toutes les grandes icônes s'affichent correctement. Comment puis-je y parvenir ?

5voto

xdavidliu Points 805

Voici une astuce qui fonctionne très bien (elle nécessite cependant une certaine quantité de manipulation d'images simples). Vous trouverez également une note tout en bas de cette réponse afin de ne pas perdre complètement ce correctif et de ne pas avoir à le refaire). Il semble que le problème soit que les icônes fournies par les sites Web ont été conçues pour le marque-page. bar qui a des icônes plus petites, et non le safari. favoris qui présente des icônes plus grandes (au moins 144 x 144).

Les icônes elles-mêmes sont stockées dans ~/Library/Safari/Touch Icons Cache/Images/, avec des noms très longs (quelque chose comme "908F6BBF6DA814ABAF917C4E7BB9E36F.png"). Lorsqu'un nouveau favori est ajouté (disons le New York Times, dans le cas de la question initiale), et que l'icône s'affiche correctement dans l'écran des favoris, un fichier png de 144 x 144 apparaît dans le dossier Cache susmentionné, et tout va bien. Cependant, si, par exemple, Gmail est ajouté et qu'un grand G laid et non descriptif apparaît à la place de l'icône Gmail, cela signifie qu'un minuscule fichier png (conçu pour un marque-page) s'affiche dans le dossier Cache susmentionné, et que tout est bon. bar au lieu de l'écran favori) est apparu dans le dossier Cache. (alternativement, si pas même un minuscule png incorrect apparaît dans ce dossier, il suffit de préférer un autre site "leurre" qui fait faire apparaître un fichier png, effectuez les opérations suivantes, puis modifiez le Nom et l'URL du favori plus tard).

Donc pour corriger l'icône, il suffit de créer un autre png qui a la résolution correcte de 144 x 144 (voir la note ci-dessous), puis d'utiliser ce png créé pour remplacer le petit fichier "incorrect" dans le dossier Touch Icons Cache, en s'assurant de garder le nom de fichier long constant. Quittez Safari (Command-Q) et redémarrez, et l'icône apparaît parfaitement, comme suit :

Fixed favorites screen

Notez que Gmail et Google Drive ont maintenant les bonnes icônes. J'ai dû faire la même chose pour The Economist, car ce site ne fournissait pas non plus de favicon 144 x 144.

Pour créer très simplement une icône de 144 x 144 à l'aide d'Aperçu, il suffit de télécharger une image haute résolution de l'icône (Gmail, Google Drive), ou autre, de l'ouvrir dans Aperçu, puis Outils->Ajuster la taille à 144 de largeur. Mettez maintenant cette image de côté et appelez-la "image A". Notez que la transparence cause parfois des problèmes pour les favicons de Safari (par exemple, si une région de l'image est incolore, la couleur réellement affichée dans ces régions peut être incohérente). Si cela se produit, nous pouvons créer un fond blanc. Pour ce faire, il suffit de faire command-shift-4 et de faire glisser une portion rectangulaire de n'importe quelle partie blanche de l'écran, puis de prendre la capture d'écran résultante et de la redimensionner en 144 x 144. Enfin, prenez l'"image A" de l'image précédente, copiez-la et collez-la sur cet espace blanc. Cette opération permet généralement de créer une très belle icône.

Remarque importante : si l'élément de menu " Développeur " (tout en haut de l'écran, près de " Signets " et " Fenêtre ") est activé dans les préférences de Safari, veillez à ne pas sélectionner " Effacer les caches ", sinon cela supprimera toutes les icônes que vous avez créées. De même, le simple fait d'effacer l'historique fait la même chose. Sinon, si vous voulez vraiment effacer l'historique ou vider le cache pour disposer de plus d'espace disque, sauvegardez les icônes personnalisées que vous avez créées avant d'effacer ; ainsi, vous pourrez les remettre en place par la suite sans avoir à les créer à nouveau.

Les caches peuvent également être effacés automatiquement de temps en temps, c'est donc une bonne pratique de créer des sauvegardes des icônes.

1voto

dardo82 Points 118
#!/bin/zsh
# Fix Safari Favorites Icons

CS="cache_settings"; TIC="Touch Icons Cache"; DIR="$HOME/Library/Safari/$TIC/Images"
DB="$DIR/../${${TIC// }%%s*}${${(C)CS}//_}.db"; SQL=$(sqlite3 "$DB" "SELECT host FROM $CS")
sqlite3 "$DB" "UPDATE $CS SET ${${${(L)TIC// /_}#*_}//s/_is_in}=1, download_status_flags=1"
for png in "$1"/*.png; do URL="$(plutil -convert xml1 -o - "$DIR/../../Bookmarks.plist" | \
awk -F '[</>]' -v name="${${png##*/}%%.*}" '$3~name{getline;getline;getline;print $5}')"; \
cp -f -v "$png" "$DIR/${(U)$(md5 -q -s $URL)}.png"; done; chflags -v uappnd $DIR $DB

D'ici : https://gist.github.com/dardo82/f7cc7c5c864fb5afa04bb12ecbcf3a9f

Le script prend comme seul argument un dossier avec les icônes tactiles manquantes.

Chaque favicon doit avoir le même nom que le signet qui lui est associé.

La nouvelle mise à jour fonctionne avec Safari 13 mais si vous videz le cache du navigateur, les favicons ajoutés disparaissent dans le nouvel onglet et réapparaissent au redémarrage !

0voto

Kambus Points 813

Une solution à long terme serait de contacter l'éditeur de votre site web pour qu'il ajoute les icônes correctes de manière appropriée.

Par exemple, je possède un site web sur Wix, et il suffit d'ajouter quelques lignes de Code d'en-tête avec des liens vers l'image de mon icône, puis l'icône du site semble fonctionner comme prévu. Il devrait donc être facile de convaincre vos éditeurs préférés d'ajouter l'icône.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X