Estaba leyendo la página de Favicon en Wikipedia. Mencionan la especificación HTML 5 para Favicon:
La especificación HTML5 actual recomienda especificar iconos de tamaño en varios tamaños utilizando los atributos rel = "icon" tallas = "lista de dimensiones de icono separadas por espacios" dentro de una etiqueta. [ fuente ] Se pueden proporcionar múltiples formatos de iconos, incluidos formatos de contenedor como archivos Microsoft .ico y Macintosh .icns, así como gráficos vectoriales escalables al incluir el tipo de contenido del icono en forma de tipo = "tipo de contenido de archivo" dentro del etiqueta.
Mirando el artículo citado (W3) muestran este ejemplo:
<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">
Mi pregunta es ¿algún navegador admite el método HTML 5?
Nota: Sé que Apple usa su apple-touch-icon
método de metaetiquetas sobre el método HTML5.
El artículo de wikipedia afirma:
Sin embargo, el navegador web Google Chrome seleccionará el tamaño de coincidencia más cercano de los provistos en los encabezados HTML para crear iconos de aplicaciones de 128 × 128 píxeles cuando el usuario elija Crear accesos directos a aplicaciones ... del menú "Herramientas".
¿Cómo maneja esto Internet Explorer (v9 a v11) y Firefox? ¿Y el artículo es correcto en cómo Chrome maneja los Favicons HTML? (No se cita ninguna fuente para que Chrome confirme esto).
Al buscar no pude encontrar realmente ninguna información (creíble) en HTML 5 Favicon que no sea el artículo de Wikipedia.
Respuestas:
Las respuestas proporcionadas (en el momento de esta publicación) son solo respuestas de enlace, así que pensé que resumiría los enlaces en una respuesta y lo que usaré.
Cuando trabaje para crear Favicons de navegador cruzado (incluidos los íconos táctiles), debe tener en cuenta varias cosas.
El primero (por supuesto) es Internet Explorer. IE no admite favicons PNG hasta la versión 11. Por lo tanto, nuestra primera línea es un comentario condicional para favicons en IE 9 y siguientes:
Para cubrir los usos del icono, créelo a 32x32 píxeles. Observe que
rel="shortcut icon"
para que IE reconozca el icono, necesita la palabrashortcut
que no es estándar. También envolvemos el.ico
favicon en un comentario condicional de IE porque Chrome y Safari usarán el.ico
archivo si está presente, a pesar de otras opciones disponibles, no lo que nos gustaría.Lo anterior cubre IE hasta IE 9. IE 11 acepta favicons PNG, sin embargo, IE 10 no. Además, IE 10 no lee comentarios condicionales, por lo que IE 10 no mostrará un favicon. Con IE 11 y Edge disponibles, no veo IE 10 en uso generalizado, así que ignoro este navegador.
Para el resto de los navegadores, utilizaremos la forma estándar de citar un favicon:
Este ícono debe tener un tamaño de 196x196 píxeles para cubrir todos los dispositivos que pueden usar este ícono.
Para cubrir los íconos táctiles en dispositivos móviles, vamos a utilizar la forma patentada de Apple para citar un ícono táctil:
El uso
rel="apple-touch-icon-precomposed"
no aplicará el brillo reflectante cuando se marque en iOS. Para que iOS aplique el brillo userel="apple-touch-icon"
. Este icono debe tener un tamaño de 180x180 píxeles, ya que ese es el tamaño actual recomendado por Apple para los últimos iPhones y iPads. He leído que Blackberry también lo usarárel="apple-touch-icon-precomposed"
.Como nota: Chrome para Android dice:
Mosaicos personalizados para IE 11+ en Windows 8.1+
IE 11+ en Windows 8.1+ ofrece una forma de crear mosaicos anclados para su sitio.
Microsoft recomienda crear algunos mosaicos en el siguiente tamaño:
Estas deben ser imágenes transparentes, ya que definiremos un fondo de color a continuación.
Una vez que se crean estas imágenes, debe crear un archivo xml llamado
browserconfig.xml
con el siguiente código:Guarde este archivo xml en la raíz de su sitio. Cuando se fija un sitio, IE buscará este archivo. Si desea asignar un nombre diferente al archivo xml o colocarlo en una ubicación diferente, agregue esta metaetiqueta a
head
:Para obtener información adicional sobre los mosaicos personalizados de IE 11+ y el uso del archivo XML, visite el sitio web de Microsoft .
Poniendolo todo junto:
Para poner todo junto, el código anterior se vería así:
Windows Phone Live Tiles
Si un usuario usa un Windows Phone, puede anclar un sitio web a la pantalla de inicio de su teléfono. Desafortunadamente, cuando hacen esto, muestra una captura de pantalla de su teléfono, no un favicon (ni siquiera el código específico de MS mencionado anteriormente). Para crear un "Live Tile" para usuarios de Windows Phone para su sitio web, debe usar el siguiente código:
Aquí hay instrucciones detalladas de Microsoft, pero aquí hay una sinopsis:
Paso 1
Cree una imagen cuadrada para su sitio web, para admitir pantallas de alta resolución, créelo con un tamaño de 768x768 píxeles.
Paso 2
Agregue una superposición oculta de esta imagen. Aquí hay un código de ejemplo de Microsoft:
Paso 3
Luego puede agregar la siguiente línea para agregar un pin para iniciar el enlace:
Microsoft recomienda que detecte Windows Phone y solo muestre ese enlace a esos usuarios, ya que no funcionará para otros usuarios.
Paso 4
A continuación, agregue algunos JS para alternar la visibilidad de la superposición
Nota sobre tamaños
Estoy usando un tamaño ya que cada navegador reducirá la imagen según sea necesario. Podría agregar más HTML para especificar varios tamaños si lo desea para aquellos con un ancho de banda menor, pero ya estoy comprimiendo los archivos PNG con TinyPNG y creo que esto es innecesario para mis propósitos. Además, según la respuesta de philippe_b , Chrome y Firefox tienen errores que hacen que el navegador cargue íconos de todos los tamaños. El uso de un icono grande puede ser mejor que varios más pequeños debido a esto.
Otras lecturas
Para aquellos que deseen más detalles, ver los enlaces a continuación:
fuente
No, no todos los navegadores admiten el
sizes
atributo:Tenga en cuenta que algunas plataformas definen tamaños específicos:
manifest.json
si está presente. Además, Chrome usa el ícono de Apple Touch para los marcadores .fuente
...yet it favors the Apple Touch icon if it finds it.
No estoy seguro de que esto sea completamente cierto, al menos no en el futuro. Desde el sitio 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).