Я читал страницу Фавикон в Википедии. Они упоминают спецификацию HTML 5 для Favicon:
Текущая спецификация HTML5 рекомендует указывать значки размера в нескольких размерах, используя атрибуты rel = "icon" sizes = "разделенный пробелами список размеров значков" внутри тега. [ источник ] Несколько форматов значков, включая форматы контейнеров, такие как файлы Microsoft .ico и Macintosh .icns, а также масштабируемая векторная графика, могут быть предоставлены путем включения типа содержимого значка в виде type = "file content-type" в тег.
Глядя на цитируемую статью (W3), они показывают этот пример:
<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">
Мой вопрос: поддерживают ли браузеры метод HTML 5?
Примечание. Я знаю, что Apple использует apple-touch-icon
метод метатегов вместо метода HTML5.
Статья в Википедии утверждает:
Тем не менее, веб-браузер Google Chrome выберет наиболее подходящий размер из тех, которые указаны в заголовках HTML, для создания значков приложений размером 128 × 128 пикселей, когда пользователь выбирает «Создать ярлыки приложений ...» в меню «Инструменты».
Как Internet Explorer (v9 до v11) и Firefox справляются с этим? Верна ли статья о том, как Chrome обрабатывает HTML-иконки? (Для Chrome нет источника, подтверждающего это.)
В поиске я не смог найти какую-либо (достоверную) информацию о Favicon в HTML 5, кроме статьи в Википедии.
Ответы:
Предоставленные ответы (на момент публикации) являются только ссылками, поэтому я подумал, что суммирую ссылки в ответ и то, что я буду использовать.
При работе над созданием Cross Browser Favicons (включая сенсорные иконки) необходимо учитывать несколько моментов.
Первый (конечно) это Internet Explorer. IE не поддерживает значки PNG до версии 11. Итак, наша первая строка - это условный комментарий для значков в IE 9 и ниже:
Чтобы покрыть использование значка, создайте его в 32x32 пикселей. Обратите внимание, что
rel="shortcut icon"
для IE, чтобы узнать значок, ему нужно слово,shortcut
которое не является стандартным. Также мы оборачиваем.ico
значок в условный комментарий IE, потому что Chrome и Safari будут использовать.ico
файл, если он присутствует, несмотря на другие доступные параметры, а не на то, что нам хотелось бы.Вышеупомянутое охватывает IE до IE 9. IE 11 принимает значки PNG, однако IE 10 не принимает. Также IE 10 не читает условные комментарии, поэтому IE 10 не будет отображать значок. В IE 11 и Edge я не вижу широкого применения IE 10, поэтому игнорирую этот браузер.
Для остальных браузеров мы будем использовать стандартный способ цитирования значка:
Этот значок должен иметь размер 196x196 пикселей, чтобы охватить все устройства, которые могут использовать этот значок.
Чтобы охватить сенсорные иконки на мобильных устройствах, мы собираемся использовать фирменный способ Apple цитировать сенсорные иконки:
Использование
rel="apple-touch-icon-precomposed"
не будет применять отражающий блеск при закладке на iOS. Для iOS примените блескrel="apple-touch-icon"
. Этот значок должен иметь размер 180x180 пикселей, так как это текущий размер, рекомендованный Apple для новейших iPhone и iPad. Я прочитал Blackberry также будет использоватьrel="apple-touch-icon-precomposed"
.Как примечание: Chrome для Android гласит:
Пользовательские плитки для IE 11+ на Windows 8.1+
IE 11+ в Windows 8.1+ предлагает способ создания закрепленных плиток для вашего сайта.
Microsoft рекомендует создать несколько плиток следующего размера:
Это должны быть прозрачные изображения, так как далее мы определим цвет фона.
После того, как эти изображения созданы, вы должны создать XML-файл с именем
browserconfig.xml
следующего кода:Сохраните этот XML-файл в корне вашего сайта. Когда сайт закреплен, IE будет искать этот файл. Если вы хотите назвать xml-файл по-другому или добавить его в другое место, добавьте этот метатег в
head
:Для получения дополнительной информации о пользовательских плитках IE 11+ и использовании файла XML посетите веб-сайт Microsoft .
Собираем все вместе:
Чтобы собрать все вместе, приведенный выше код будет выглядеть так:
Windows Phone Live Tiles
Если пользователь использует Windows Phone, он может прикрепить веб-сайт к начальному экрану своего телефона. К сожалению, когда они делают это, он отображает скриншот вашего телефона, а не значок (даже не указанный выше код MS). Чтобы создать «Живую плитку» для пользователей Windows Phone для вашего сайта, необходимо использовать следующий код:
Вот подробные инструкции от Microsoft, но вот краткий обзор:
Шаг 1
Создайте квадратное изображение для своего сайта, для поддержки экранов высокого разрешения создайте его размером 768x768 пикселей.
Шаг 2
Добавьте скрытое наложение этого изображения. Вот пример кода от Microsoft:
Шаг 3
Затем вы можете добавить следующую строку, чтобы добавить пин-код для начала ссылки:
Microsoft рекомендует обнаруживать Windows Phone и показывать эту ссылку только этим пользователям, поскольку она не будет работать для других пользователей.
Шаг 4
Затем вы добавляете JS для переключения видимости наложения
Примечание по размерам
Я использую один размер, так как каждый браузер будет уменьшать изображение по мере необходимости. Я мог бы добавить больше HTML, чтобы указать несколько размеров, если это необходимо для тех, у кого меньшая пропускная способность, но я уже сильно сжимаю файлы PNG, используя TinyPNG, и считаю это ненужным для моих целей. Также, согласно ответу philippe_b , в Chrome и Firefox есть ошибки, которые заставляют браузер загружать иконки всех размеров. Из-за этого использование одного большого значка может быть лучше, чем нескольких меньших.
Дальнейшее чтение
Для тех, кто хотел бы больше подробностей, смотрите ссылки ниже:
источник
Нет, не все браузеры поддерживают этот
sizes
атрибут:Обратите внимание, что некоторые платформы определяют конкретные размеры:
manifest.json
случае его наличия . Кроме того, Chrome использует значок Apple Touch для закладок .источник
...yet it favors the Apple Touch icon if it finds it.
Не уверен, что это полностью верно, по крайней мере, не в будущем. С сайта Chrome:The apple-touch-* are deprecated, and will be supported only for a short time. (Written as of beta for m31 of Chrome).