- apple-touch-icon.png и apple-touch-icon-precomposed.png: иконки и 404-я ошибка
- Что такое apple-touch-icon или Web Clips
- Как сгенерировать apple-touch-icon
- Отличия apple-touch-icon и apple-touch-icon-precomposed
- Как установить на сайт иконки apple-touch-icon
- Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?
- Каков основной файл фавикона?
- Вопрос: Какого размера должен быть favicon.ico?
- Вопрос: Каково назначение favicon.png?
- Вопрос: Какой формат необходим для поддержки мобильных платформ?
- Вопрос: Какого размера должны быть PNG иконки?
- Вопрос: Каков размер Apple Touch icon?
- Вопрос: Необходимо ли объявлять Apple Touch icon в HTML?
- Вопрос: Как объявить плитку для планшетов на Windows 8?
- Вопрос: Каков размер плитки square150x150logo?
- Какие нужны фавиконки
apple-touch-icon.png и apple-touch-icon-precomposed.png: иконки и 404-я ошибка
Заметил что на хостинге, в логах сервера часто встречается 404-я ошибка при попытке получить файлы apple-touch-icon.png или apple-touch-icon-precomposed.png из корня сайта.
Виноватыми оказались apple-устройства, при посещении какого-либо сайта они обращаются к этим файлам. Возникает закономерный вопрос «Что это за файлы и зачем они нужны?»
Что такое apple-touch-icon или Web Clips
Пользователи IOS и android могут на свой рабочий стол добавлять ярлыки-иконки для сайтов, они называются Web Clips. Файлы apple-touch-icon.png и apple-touch-icon-precomposed.png как раз и предназначены для этих иконок. То есть если вы у себя на телефоне захотите добавить на главный ярлык для моего сайта, то иконка этого ярлыка будет браться из этих файлов. Если же файла нет, то android возьмет иконку из файла favicon.ico, а IOS просто сделает иконку в виде скриншота видимой на данный момент части сайта.
На android устройствах такие ярлыки добавляются так: в браузере открываете нужный сайт — кнопка меню — Добавить закладку — в поле «Добавить в» выбираем «Главный экран» и жмем ОК. Попробуйте добавить мой сайт =)
У меня apple-touch-icon выглядит вот так:
А на телефоне вот так:
Android обращается к файлу apple-touch-icon только в тот, момент, когда Вы пытаетесь добавить сайт в закладки на главный экран. А вот apple-устройства пытаются обратиться при каждом посещении страницы. При отсутствии файлов apple-touch-icon.png это влечет генерацию 404-й ошибки. Если ваш сайт более-менее посещаем, то такая ошибка будет генерироваться достаточно часто, чтобы увидеть это в отчетах о нагрузке сервера. Ведь генерация 404-й страницы создает большую нагрузку для сервера хостинга, чем просто процесс отдачи изображения.
Какой выход? Конечно скопировать в нужное место заранее подготовленные иконки, тем более это будет плюс для Вашего сайта, такие иконки на рабочем столе мобильных устройств выглядят куда более привлекательней.
Как сгенерировать apple-touch-icon
Мобильные устройства могут иметь разные размеры экранов, а значит и сами иконки могут быть разных размеров. Вот например тут в ряду «Web clip icon (recommended for web apps and websites)» можно посмотреть какие иконки нужны для ios-устройств:
Я попытался выяснить какие именно размеры иконок стоит сгенерировать, но увидел что мнения различных блогеров слишком сильно разбегаются. Потому проанализировал логи и остановился на размерах 57×57, 76×76, 114х114, 120×120, 152×152. Если же в логах замечу что будут запрашиваться еще какие-то разрешения, то и для них создам иконку.
Для генерации иконок можно использовать один из множества сервисов «apple-touch-icon generator». Мне понравился вот этот: gieson.com/Library/projects/utilities/icon_slayer :
- Находим подходящую иконку в хорошем качестве
- Загружаем на сайт через кнопку Load Image
- Указываем эффекты (градиент, блики)
- Указываем (по желанию) дополнительные разрешения: ставим галочку возле custom и через пробел печатаем необходимые разрешения
- Жмем кнопку Export Icons
На моем примере у меня имена файлов должны быть следующие:
- apple-touch-icon-152×152-precomposed.png
- apple-touch-icon-152×152.png
- apple-touch-icon-120×120-precomposed.png
- apple-touch-icon-120×120.png
- apple-touch-icon-76×76-precomposed.png
- apple-touch-icon-76×76.png
- apple-touch-icon-precomposed.png
- apple-touch-icon.png
Чаще всего рекомендуют под именами apple-touch-icon-precomposed.png и apple-touch-icon.png хранить иконки с разрешением 57×57 пикселей.
Отличия apple-touch-icon и apple-touch-icon-precomposed
apple-touch-icon-precomposed — иконки с заранее наложенными эффектами в стиле iOS с закругленными углами и тд. и тп.
apple-touch-icon — иконки без эффектов, мобильное устройство само наложит на эту иконку свои эффекты.
При посещении страницы иконки запрашиваются в следующем порядке:
- apple-touch-icon-120×120-precomposed.png — иконка с наиболее подходящим разрешением и наложенными эффектами
- apple-touch-icon-120×120.png — если нет предыдущей, то иконка с наиболее подходящим разрешением, но без эффектов
- apple-touch-icon-precomposed.png — если нет предыдущей, то иконка с наложенными эффектами
- apple-touch-icon.png — если нет предыдущей, то иконка без эффектов
Как установить на сайт иконки apple-touch-icon
Тут ничего сложного нет: их нужно загрузить в корень сайта. Самый легкий вариант, если лень генерировать иконки различных размеров, это загрузить одну иконку с именем apple-touch-icon.png, тогда Web Clips будут красиво отображаться. Но это нас не избавит от лишних 404-х ошибок, ведь устройства сначала пытаются получить файлы с нужным им разрешением.
Часто советуют еще прописать в заголовке теги такого вида:
Но я считаю это лишним. Ведь все будет работать и без этого. Зачем принудительно к странице подключать лишние файлы, если на устройстве пользователя они могут не понадобится (например на ноутбуке)? Лучше дать устройству самому решать что ему загружать.
Источник
Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.
Статья содержит результаты проведенного им исследования, каким должен быть фавикон (и то что его заменяет), чтобы хорошо отображаться в различных случаях.
Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.
С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного. Или нет?
Каков основной файл фавикона?
Ответ: favicon.ico. Просто, чтобы удостовериться: это не PNG, переименованный в favicon.ico. Хотя, некоторые браузеры простят эту ошибку, ICO это другой формат, поддерживающий несколько версий изображения.
Вопрос: Какого размера должен быть favicon.ico?
A: 16х16. Стандартный.
B: 32х32. Разве фавикон не обновлялся некоторое время назад?
C: 64×64. Знаете, со всеми этими новыми экранами с высокой плотностью пикселей.
D: Ни один из перечисленных.
Формат favicon.ico изначально задуман Майкрософт и поддержан некоторыми другими производителями. Майкрософт рекомендует размеры 16х16, 32х32 и 48х48. Да, один ICO может содержать несколько изображений.
Браузеры обычно отображают фавикон на вкладках, и на обычных разрешениях, версия 16х16 выглядит хорошо:
16х16 на вкладке Chrome. Пока всё хорошо.
Но иконка 16х16 слишком мала для других мест: панели задач и рабочего стола.
16х16 в панели задач.
16х16 на рабочем столе. Не хорошо.
Когда иконка содержит несколько изображений, результат гораздо лучше.
16х16, 32х32 и 48х48 favicon.ico в панели задач. Выглядит как обычная программа.
16х16, 32х32 и 48х48 favicon.ico на рабочем столе. Идеально.
Вопрос: Каково назначение favicon.png?
На самом деле, чаще встречается другой файл, favicon.png. Люди часто спрашивают об этом.
Что это на самом деле?
A: Иконка для браузеров не поддерживающих favicon.ico. Такие как Firefox, наверно?
B: Иконка высокого разрешения. Знаете, со всеми этими новыми экранами с высокой плотностью пикселей.
C: Артефакт из прошлого. Теперь это новые иконки, например, Apple Touch icon.
D: Всё вместе.
Ответ: D.
Начиная с принятия HTML5, favicon.ico не слишком полезен. Был представлен атрибут sizes, позволяющий объявить несколько различных версии одной и той же иконки, и это могут быть PNG файлы:
Так что мы должны объявлять?
Давайте посмотрим правде в глаза. Хотя, почти все настольные браузеры поддерживают favicon.ico, этот файл устарел. Да, вы по-прежнему можете использовать этот файл и всё будет работать, как задумано. Но серьёзно, это устаревший формат. Он не используется нигде, кроме веба. PNG поддерживается гораздо лучше.
favicon.ico — для старых версий IE. Для остальных браузеров и последних версий IE используйте PNG иконки. Так какие sizes необходимо определять? Скоро узнаем.
Вопрос: Какой формат необходим для поддержки мобильных платформ?
Согласно SmartInsights, больше 26% веб-трафика генерируется смартфонами и планшетами. Это будущее. Что нужно для поддержки этого мира?
A: favicon.ico. Это работало 15 лет назад, работает и сегодня.
B: PNG иконки. Вы сказали, что расскажете об этом.
C: Apple Touch icon. Кэп.
D: Здесь, всё равно, нет правильного ответа.
Ответ: D. Нужны PNG иконки. И Apple Touch icon. И плитки для Windows 8. И файл под названием browserconfig.xml.
Мобильные платформы гораздо более гетерогенны, чем обычные настольные браузеры. Размеры экранов и разрешения очень сильно варьируются и нет преобладающей операционной системы, такой как Windows, как это было во времена появления интернета.
Следствие: не думайте, что мобильный фавикон может быть одной универсальной картинкой или иметь универсальное объявление в HTML коде.
Вопрос: Какого размера должны быть PNG иконки?
A: 96х96 для Google TV
B: 196х196 для Android Chrome
C: 228х228 для Opera Coast
D: Все перечисленные
Ответ: D, и даже более. Например, 160х160 для старой версии быстрого набора Opera (давно в прошлом), или 128х128 для Chrome Web Store, всё сильно зависит от платформы, которую вы собираетесь поддерживать.
Вопрос: Каков размер Apple Touch icon?
Apple Touch icon используемые iOS для закладок и сайтов «на домашнем экране». На ум приходит 57х57, браво. Это правильно. Только это было 7 лет назад, когда был выпущен первый iPhone.
Ответ: Вплоть до 180х180.
После появления первого iPhone, было 3 важных релиза:
- iPad. С экраном гораздо большего размера.
- Retina-экраны. С удвоеной плотностью пикселов.
- iOS7. Плоский дизайн отличается на iPhone/iPad.
Всего есть 9 комбинаций.
Устройство | Экран | Версия iOS | Размер иконки |
---|---|---|---|
iPhone | Classic | 6 и ниже | 57×57 |
7 | 60×60 | ||
Retina | 6 и ниже | 114×114 | |
7 | 120×120 | ||
6 Plus | 8 и выше | 180×180 | |
iPad | Classic | 6 и ниже | 72×72 |
7 | 76×76 | ||
Retina | 6 и ниже | 144×144 | |
7 | 152×152 |
Старая 57х57 Apple Touch icon на блестящем Retina iPad. Мутно.
Большая 152х152 Apple Touch icon на Retina iPad. Аккуратно.
Если вы ответили неверно, не расстраивайтесь. Из 5000 популярных сайтов, которые предоставляют apple-touch-icon.png, менее 4% делают это правильно.
Некоторый могут возразить, что все 9 изображений не очень и нужны. Однако, по крайней мере, основная Apple Touch icon должна быть 152х152. Retina iPad под iOS 7 найдет что нужно, а младшие устройства могут уменьшить изображение.
Вопрос: Необходимо ли объявлять Apple Touch icon в HTML?
A: Не знаю. Надо же что-то ответить!
B: Да. Иначе как iOS найдет их?
C: Нет. Apple предлагает рекомендации, так что любое iOS устройство всё равно их надет.
D: Нет, но.
Ответ: D… но некоторые другие платформы тоже используют Apple Touch icon, лучше их объявить.
Как бы странно это не звучало, устройства под iOS не единственные, которые ищут Apple Touch icon. Поскольку они популярнее и встречаются чаще других PNG иконок высоких разрешений, некоторые браузеры, вроде Android Chrome, используют их. Таким образом, лучше их объявлять, это позволит посетителю с совместимым устройством или браузером использовать одну их.
Вопрос: Как объявить плитку для планшетов на Windows 8?
A: Планшет на Windows 8? Что это такое?
B: favicon.ico. Наследие Стива Балмера.
C: Мета-теги. Два msapplication-TileColor и msapplication-TileImage.
D: browserconfig.xml.
Ответ: C для Windows 8 и IE 10, D для Windows 8.1 и IE 11. Ответ A в чем-то тоже верен.
Объявление для Windows 8.0 выглядит как-то так:
Windows 8.1 и IE 11 ожидают несколько версии изображения, объявленных в browserconfig.xml. Например:
Новый интерфейс Metro предлагает несколько новых принципов дизайна, например, «белые силуэты», используемые большинством предустановленных программ.
Плитки сайтов в Windows 8.
Вопрос: Каков размер плитки square150x150logo?
A: 150х150. Вы не умеете читать?
B: Иной.
Ответ: B, 270х270. Майкрософт рекомендует больший размер, в целях поддержки экранов с высокой плотностью пикселов.
Поздравляем, вы закончили викторину! Как вы это сделали?
Источник
Какие нужны фавиконки
30 августа 2017
Фавиконка — это favorite icon, то есть иконка для избранного. Её придумали для IE5 в 99 году, чтобы у сайтов была узнаваемая картинка. Достаточно было бросить в корень сайта файл favicon.ico и браузер сразу её подхватывал и делал красиво. До сих пор все браузеры делают запрос в корень сайта и пытаются найти там файл в формате ICO. Бросил и забыл, расходимся? Рано!
Долгое время всё прекрасно работало. В контейнер ICO можно было зашить много разных иконок: от крошечной монохромной до огромной полупрозрачной. Браузер после скачивания иконки сам выбирал нужный формат. Проблема была в том, формат ICO страшно неэффективный. Если зашить в ICO две PNG-иконки 16 и 32, то иконка будет весить в два-три раза больше, чем исходные файлы. Браузерам приходилось тянуть не только ненужные форматы, но ещё и в неэффективном виде.
Но ICO признали все браузеры и научились подключать его не только из корня сайта, но и из произвольного места. Если указать в голове документа
, то браузер пойдёт не в корень, а туда, куда вы ему показали. Линковать особый адрес приходилось на каждой странице, но это же не проблема — иконка ведь всего одна! Ну правда, что могло пойти не так? Так и жили.
При отсутствии внятных стандартов, за дело взялась Apple. К первому Айфону прилагался прорывной мобильный браузер Safari, который тоже начал искать в корне сайта иконки, но на этот раз в формате PNG и с названием apple-touch-icon. Эту иконку видно в избранном и при добавлении сайта на домашний экран. Бросил в корень второй файл и забыл, расходимся? Нет.
Чтобы иконка была без блика сверху, нужен файл apple-touch-icon-precomposed, ещё один для ретины, потом ещё несколько для всех моделей Айпадов, тройной ретины… и в итоге вам нужно намусорить в корне или в шапке сайта целым ворохом иконок со специальными размерами: 72, 76, 114, 120, 144, 152, 180 и кажется что-то ещё. Чтобы разобраться во всех нюансах тач-иконок, читайте отличное руководство Матиаса Байненса.
Иконки Apple в какой-то момент стали стандартом де-факто. Их начали подтягивать не только другие браузеры, но и другие сервисы, чтобы сделать иконку для вашего сайта. Проблема была в том, что это было слабо документировано, учитывало интересы только одной компании и несло само её имя в формате. Нужен был стандарт.
В HTML5 появилось расширенное описание
: добавился атрибут sizes , чтобы указывать размеры, и атрибут type , чтобы указывать формат иконки. Например, если у вас ICO с несколькими иконками внутри, то укажите все размеры через пробел в sizes . Если иконка векторная — да, так тоже можно — укажите размер any . Главное, не забудьте указать правильные типы. Теперь-то расходимся, проблема решена? Почти.
Для каждой иконки писать свой линк? Сложно! А если хочется фирменный цвет указать, заставку или какие-то особенности работы всего сайта? Не иконками едиными. Вот бы нам конфиг в отдельном файле! Было и такое: browserconfig.xml для плиточных иконок IE11, JSON-манифест для иконок-виджетов табло Яндекс Браузера. Экспериментов было много, но теперь есть и стандартное решение — веб-манифест.
Спецификация Web App Manifest описывает простой JSON-файл, в котором можно указать не только все иконки, их размеры и форматы, но и полностью описать ваш сайт или приложение. Фирменный цвет, цвет фона, язык и направление письма, полное и краткое название, ориентация, режим запуска и другое. Вы подключаете его с помощью
на каждую страницу и браузер сразу всё знает. Хороший инспектор манифеста есть во вкладке Application отладчика Chrome.
А что Apple? Что-что… До сих пор поддерживает свой формат тач-иконок и придумала даже ещё один: новый, нестандартный, как мы любим! С помощью
для закреплённых вкладок Safari и кнопок на тач-баре Макбуков можно указать монохромную векторную маску и цвет для наведения. Спасибо, конечно, за вектор, но неспасибо за очередной велосипед.
Веб-манифест уже так или иначе поддерживают Chrome, Opera, Samsung Internet и Firefox, но пока только на Андроиде. В Edge он тоже скоро появится — разработка в процессе. Пока это будущий способ подключения иконок, а что делать сегодня, вот прямо сейчас? Сочетать всё, что мы знаем.
Для начала, забудьте про ICO, если только вам не нужен IE10. Подключите линком PNG-иконки: простую на 16 и 32 для ретины, чтобы было красиво в браузерной строке и закладках. Дальше подключите линком из корня сайта apple-touch-icon.png размером 180 × 180. Потом подключите веб-манифест, в котором указана иконка на 192 для Андроида. Ну и можно там же упомянуть 16, 32, вектор, цвета и название — пригодится.
Этого вам должно хватить, чтобы было красиво в основных современных браузерах. Но если нужно упороться по мелочам и сделать вот прямо идеально на каждой платформе — мои соболезнования и читайте документацию в описании к видео. Есть ещё сносный онлайновый генератор иконок, но я бы не доверил ему генерировать графику — будет мыльно. А вот код позаимствовать можно.
Ну что, чуда не произошло и всё по-старому: мусор в шапке, мусор в корне? Знаете, нет, я верю, что со временем веб-манифест наведёт порядок, поэтому подключайте его уже сегодня. Вот выбросим мусор и заживём!
Источник