Eu estava lendo a página do Favicon na Wikipedia. Eles mencionam a especificação do HTML 5 para o Favicon:
A especificação atual do HTML5 recomenda a especificação de ícones de tamanho em vários tamanhos, usando os atributos rel = "icon" size = "lista de dimensões de ícones separada por espaço" em uma tag. [ fonte ] Vários formatos de ícone, incluindo formatos de contêiner, como arquivos Microsoft .ico e Macintosh .icns, além de Scalable Vector Graphics, podem ser fornecidos incluindo o tipo de conteúdo do ícone na forma de type = "file content-type" dentro do diretório tag.
Olhando para o artigo citado (W3), eles mostram este exemplo:
<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">
Minha pergunta é: algum navegador suporta o método HTML 5?
Nota: Eu sei que a Apple usa o apple-touch-icon
método de metatags sobre o método HTML5.
O artigo da wikipedia afirma:
O navegador da web Google Chrome, no entanto, selecionará o tamanho de correspondência mais próximo do fornecido nos cabeçalhos HTML para criar ícones de aplicativos de 128 × 128 pixels quando o usuário escolher os atalhos Criar aplicativo ... no menu "Ferramentas".
Como o Internet Explorer (v9 a v11) e o Firefox lidam com isso? E o artigo está correto em como o Chrome lida com os Favicons HTML? (Não há nenhuma fonte citada para o Chrome confirmar isso.)
Na pesquisa, não consegui realmente encontrar nenhuma informação (confiável) no HTML 5 Favicon além do artigo da Wikipedia.
Respostas:
As respostas fornecidas (no momento deste post) são apenas para links, então pensei em resumir os links em uma resposta e no que vou usar.
Ao trabalhar para criar Favicons entre navegadores (incluindo ícones de toque), há várias coisas a considerar.
O primeiro (é claro) é o Internet Explorer. O IE não suporta favicons PNG até a versão 11. Portanto, nossa primeira linha é um comentário condicional para favicons no IE 9 e abaixo:
Para cobrir os usos do ícone, crie-o em 32x32 pixels. Observe o
rel="shortcut icon"
IE para reconhecer o ícone que precisa da palavrashortcut
que não é padrão. Também envolvemos o.ico
favicon em um comentário condicional do IE, porque o Chrome e o Safari usarão o.ico
arquivo se ele estiver presente, apesar de outras opções disponíveis, não do que gostaríamos.A descrição acima abrange o IE até o IE 9. O IE 11 aceita favicons PNG, mas o IE 10 não. Além disso, o IE 10 não lê comentários condicionais, portanto, o IE 10 não mostra um favicon. Com o IE 11 e o Edge disponíveis, não vejo o IE 10 em uso generalizado, por isso ignoro este navegador.
Para o restante dos navegadores, usaremos a maneira padrão de citar um favicon:
Este ícone deve ter 196x196 pixels de tamanho para cobrir todos os dispositivos que podem usar esse ícone.
Para cobrir ícones de toque em dispositivos móveis, usaremos a maneira proprietária da Apple para citar um ícone de toque:
O uso
rel="apple-touch-icon-precomposed"
não aplicará o brilho reflexivo quando marcado no iOS. Para que o iOS aplique o uso do brilhorel="apple-touch-icon"
. Esse ícone deve ter o tamanho de 180x180 pixels, já que é o tamanho atual recomendado pela Apple para os mais recentes iPhones e iPads. Eu li que o Blackberry também usarárel="apple-touch-icon-precomposed"
.Observação: o Chrome para Android declara:
Mosaicos personalizados para IE 11+ no Windows 8.1+
O IE 11+ no Windows 8.1+ oferece uma maneira de criar blocos fixados para o seu site.
A Microsoft recomenda criar alguns blocos no seguinte tamanho:
Essas devem ser imagens transparentes, pois definiremos um plano de fundo colorido a seguir.
Depois que essas imagens são criadas, você deve criar um arquivo xml chamado
browserconfig.xml
com o seguinte código:Salve este arquivo xml na raiz do seu site. Quando um site é fixado, o IE procurará esse arquivo. Se você quiser nomear o arquivo xml como algo diferente ou tê-lo em um local diferente, adicione esta metatag ao
head
:Para obter informações adicionais sobre os blocos personalizados do IE 11+ e sobre o uso do arquivo XML, visite o site da Microsoft .
Juntando tudo:
Para juntar tudo, o código acima ficaria assim:
Azulejos do Windows Phone Live
Se um usuário estiver usando um Windows Phone, ele poderá fixar um site na tela inicial do telefone. Infelizmente, quando fazem isso, ele exibe uma captura de tela do seu telefone, não um favicon (nem mesmo o código específico da Microsoft mencionado acima). Para criar um "Live Tile" para usuários do Windows Phone no seu site, é necessário usar o seguinte código:
Aqui estão instruções detalhadas da Microsoft, mas aqui está uma sinopse:
Passo 1
Crie uma imagem quadrada para o seu site, para suportar telas de alta resolução, crie-a com 768x768 pixels de tamanho.
Passo 2
Adicione uma sobreposição oculta desta imagem. Aqui está um exemplo de código da Microsoft:
etapa 3
Você pode adicionar a seguinte linha para adicionar um pino ao link inicial:
A Microsoft recomenda que você detecte o windows phone e mostre apenas esse link para esses usuários, pois ele não funcionará para outros usuários.
Passo 4
Em seguida, adicione algumas JS para alternar a visibilidade da sobreposição
Nota sobre tamanhos
Estou usando um tamanho, pois cada navegador reduz a imagem conforme necessário. Eu poderia adicionar mais HTML para especificar vários tamanhos, se desejado, para aqueles com largura de banda menor, mas já estou compactando os arquivos PNG usando o TinyPNG e acho isso desnecessário para meus propósitos. Além disso, de acordo com a resposta de philippe_b , o Chrome e o Firefox têm bugs que fazem com que o navegador carregue todos os tamanhos de ícones. Usar um ícone grande pode ser melhor do que vários menores por causa disso.
Leitura adicional
Para quem deseja obter mais detalhes, consulte os links abaixo:
fonte
Não, nem todos os navegadores suportam o
sizes
atributo:Observe que algumas plataformas definem tamanhos específicos:
manifest.json
se estiverem presentes. Além disso, o Chrome usa o ícone Apple Touch para marcadores .fonte
...yet it favors the Apple Touch icon if it finds it.
Não tenho certeza se isso é completamente verdade mais, pelo menos não no futuro. No site do Chrome:The apple-touch-* are deprecated, and will be supported only for a short time. (Written as of beta for m31 of Chrome).