17 votos

¿cómo hacer que los iconos de los favoritos de Safari (también conocidos como favicons) se muestren correctamente?

Estoy usando Safari en MacOS Sierra. He añadido varios sitios de uso común a mi sección de favoritos, como este:

My favorites icons

(hay 10 iconos, y todos menos 2 de ellos se muestran como el icono adecuado y correcto del sitio. Por ejemplo, el icono de Wikipedia tiene el icono grande de la W. Sin embargo, para Google Drive y Gmail, los iconos son sólo grandes, feos, G genéricos)

Me gustaría que los dos sitios de Google mostraran correctamente sus iconos también. Al principio, pensé que era porque los 8 sitios "correctamente mostrados" habían configurado con éxito sus "ajustes de Safari" o algo así, mientras que Google no lo hizo (aunque esto no suena muy plausible).

Sin embargo, si en lugar de eso voy al menú superior de Safari, hago clic en Marcadores > Mostrar marcadores, obtengo lo siguiente:

My bookmarks list

Extrañamente, este tiempo, los dos sitios de Google hacer han mostrado correctamente los iconos, mientras que en su lugar son tres otros sitios (de los 10) que no se muestran: a saber, Wikipedia, Amazon y New York Times.

Así que parece que hay dos conjuntos de iconos, "grande" y "pequeño", y para los iconos grandes, Google Drive y Gmail no se muestran correctamente, mientras que los otros 8 son, y por otra parte, para pequeño iconos, Google Drive y Gmail son se muestran correctamente, mientras que Wikipedia, Amazon, y NYTimes son no .

En realidad no me importan mucho los iconos pequeños, pero me gustaría que todos los iconos grandes se mostraran correctamente. ¿Cómo puedo hacerlo?

5voto

xdavidliu Puntos 56

Bien, aquí hay un hack que funciona muy bien (aunque requiere una cantidad moderada de simple manipulación de imágenes. También, vea una nota al final de esta respuesta para no perder completamente este arreglo y tener que rehacerlo). Parece que el problema es que los iconos dados por los sitios web fueron diseñados para el marcador bar que tiene iconos más pequeños, y no el safari favoritos que tiene iconos más grandes (al menos 144 x 144).

Los propios iconos se almacenan en ~/Library/Safari/Touch Icons Cache/Images/, con nombres muy largos (algo así como "908F6BBF6DA814ABAF917C4E7BB9E36F.png"). Cuando se añade un nuevo Favorito (digamos el New York Times, en el caso de la pregunta original), y el icono se muestra correctamente en la pantalla de Favoritos, entonces aparece un archivo de 144 x 144 png en la mencionada carpeta del Cache, y todo está bien y a la moda. Sin embargo, si, digamos que se añade Gmail, y aparece una gran y fea G no descriptiva en lugar del bonito icono de Gmail, entonces eso significa que un pequeño png (diseñado para un marcador bar en lugar de pantalla favorita) apareció en la carpeta Cache. (alternativamente, si ni siquiera un pequeño png incorrecto aparece en esa carpeta, simplemente favorito otro sitio "señuelo" que hace hacer que aparezca un archivo png, realizar lo siguiente, y luego modificar el nombre y la URL del favorito más tarde).

Así que para corregir el icono, simplemente cree otro png que tenga la resolución correcta de 144 x 144 (ver nota abajo), y luego use ese png creado para reemplazar el pequeño archivo "incorrecto" en la carpeta de la caché de iconos táctiles, asegurándose de mantener constante el nombre largo del archivo. Salga de Safari (Comando y Q) y reinicie, y el icono aparecerá perfectamente, como así:

fixed favorites screen

Ten en cuenta que Gmail y Google Drive ahora tienen los iconos correctos. Tuve que hacer lo mismo para The Economist también, ya que ese sitio tampoco proporcionaba un favicon de 144 x 144 adecuado.

Para una forma muy simple de crear un icono de 144 x 144 usando sólo la vista previa, simplemente descarga una imagen de alta resolución del icono (Gmail, Google Drive), o lo que sea, abre en la vista previa, luego herramientas->ajusta el tamaño a 144 de ancho. Ahora pon esta imagen a un lado y llámala "imagen A". Ten en cuenta que la transparencia a veces causa problemas para los faviconos de safari (por ejemplo, si una región de una imagen es incolora, el color que se muestra realmente en esas regiones puede ser inconsistente). Si esto ocurre, podemos hacer un fondo blanco. Para ello, simplemente haga el comando-mayúsculas-4 y arrastre una porción rectangular de cualquier porción blanca de la pantalla, luego tome la captura de pantalla resultante y cambie el tamaño a 144 x 144. Finalmente, tome la "imagen A" de antes, y copie y pegue en este espacio blanco. Esto suele crear un icono muy bonito.

Nota importante: si tienes activada la opción de menú "Desarrollador" (por ejemplo, en la parte superior de la pantalla, cerca de "Marcadores" y "Ventana") en las preferencias de Safari, asegúrate de no seleccionar "Borrar cachés", ya que de lo contrario se borrarán también todos los iconos que hayas creado. Además, simplemente Borrar el historial hace lo mismo. Por otra parte, si realmente quieres borrar el historial o limpiar la caché para tener más espacio en el disco, guarda los iconos personalizados que creaste antes de borrarlos; así podrás volver a ponerlos después sin tener que crearlos de nuevo.

editar: A partir de los comentarios de abajo, los Caches también se pueden borrar automáticamente en ocasiones, por lo que es una buena práctica crear copias de seguridad de los iconos.

2 votos

Le sugiero que haga copias de seguridad de los iconos que haga, ya que las carpetas de caché se pueden borrar en cualquier momento, a veces por accidente

0 votos

"Tenga en cuenta que la transparencia causa problemas para los favicons de safari" Parece que funciona bien para mí. También parece funcionar para usted, según su icono de Google Drive, ¿verdad?

1 votos

Ah, buen punto Arco de Esqueleto, tienes razón en que el icono de Google Drive tiene fondo transparente y se muestra bien. Sin embargo, la razón por la que añadí esa nota es porque mi icono de Economist tenía una barra roja sobre el texto "transparente", y a veces mostraba el texto como blanco o negro, este último se ve realmente extraño. Tuve que poner un fondo blanco para que el texto se mostrara correctamente. He editado ligeramente mi respuesta para reflejar lo anterior.

1voto

Ganesh Puntos 16
#!/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

Desde aquí: https://gist.github.com/dardo82/f7cc7c5c864fb5afa04bb12ecbcf3a9f

El script toma como único argumento una carpeta con los iconos táctiles que faltan.

Cada favicon debe tener el mismo nombre que el marcador asociado a él.

El gist recién actualizado funciona con Safari 13 pero ahora si borras la caché del navegador los favicons añadidos desaparecen en la nueva pestaña y vuelven a aparecer al reiniciar.

1 votos

Esto es un arreglo bonito y sencillo. Al principio estaba confundido sobre cómo usar el script antes de leer esta respuesta con más atención, pero describiré explícitamente un ejemplo para los que, como yo, raramente ejecutamos : si, digamos, el marcador llamado "Gmail" no muestra un icono, descarga cualquier icono adecuado, como este Ponerlo en alguna carpeta como ~/Desktop, cd a esa carpeta, renombrar el archivo "Gmail.png" y luego hacer "zsh fixicon", donde fixicon es un archivo de texto que contiene el script anterior, y ha sido "chmod +x "ed.

0 votos

Sí, tienes razón, gracias por tomarte el tiempo de ser más verboso que yo...

0 votos

Si alguien se lo pregunta, sigue funcionando, al menos en mi máquina con OSX 10.13.6 y Safari 13.1.2

0voto

Kambus Puntos 813

Una solución a largo plazo sería ponerse en contacto con el editor de su sitio web para añadir los iconos correctos de forma adecuada.

Por ejemplo, tengo un sitio web en Wix, y es sólo cuestión de añadir unas líneas de Código de cabecera con enlaces a la imagen de mi icono, entonces el icono del sitio parece funcionar como se espera. Así que debería ser fácil convencer a tus editores favoritos de que añadan el icono.

0 votos

Realmente no creo que sea una solución viable: es muy dudoso que grandes sitios como Gmail me hagan caso si les envío un correo electrónico pidiéndoles que arreglen algunos iconos.

0 votos

@xdavidliu si la suficiente gente lo pide, lo priorizarán más.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X