Кроме того, что PNG является более распространенным форматом изображения, есть ли какая-либо техническая причина для поддержки favicon.png vs. favicon.ico?
Я поддерживаю современные браузеры, которые поддерживают любимые иконки PNG.
Кроме того, что PNG является более распространенным форматом изображения, есть ли какая-либо техническая причина для поддержки favicon.png vs. favicon.ico?
Я поддерживаю современные браузеры, которые поддерживают любимые иконки PNG.
Ответ заменен (и включен Community Wiki) из-за многочисленных обновлений и заметок от других в этом потоке:
Не стесняйтесь проконсультироваться с другими ответами здесь для более подробной информации.
Все современные браузеры (протестированные с Chrome 4, Firefox 3.5, IE8, Opera 10 и Safari 4) всегда будут запрашивать favicon.ico
, если вы не указали значок ярлыка через <link>
. Поэтому, если вы явно не указали один, лучше всегда иметь файл favicon.ico
, чтобы избежать 404. Yahoo! предлагает сделать его небольшим и кэшируемым.
И вам не нужно искать PNG только для альфа-прозрачности. ICO файлы поддерживают альфа-прозрачность просто отлично (т.е. 32-битный цвет), хотя вряд ли какие-либо инструменты позволяют создавать их. Я регулярно использую Dynamic Drive FavIcon Generator для создания файлов favicon.ico
с альфа-прозрачностью. Это единственный онлайн-инструмент, о котором я знаю, который может это сделать.
Там также есть бесплатный плагин Photoshop, который может их создать.
.png файлы хороши, но файлы .ico также обеспечивают прозрачность альфа-канала, плюс, которые дают вам обратную совместимость.
Посмотрите, какой тип StackOverflow используется, например (обратите внимание, что он прозрачен):
<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico">
<link rel="apple-touch-icon" href="http://sstatic.net/so/apple-touch-icon.png">
Apple-itouch thingy для пользователей iphone, которые делают ярлык для веб-сайта.
Теоретическое преимущество файлов *.ico заключается в том, что они являются контейнерами, чем могут содержать более одного значка. Например, вы можете хранить изображение с альфа-каналом и 16-цветную версию для устаревших систем, или вы можете добавить значки 32x32 и 48x48 (что должно было бы увеличиться при перетаскивании ссылки на проводник Windows).
Эта хорошая идея, однако, имеет тенденцию сталкиваться с реализациями браузера.
PNG имеет 2 преимущества: он имеет меньший размер и более широко используется и поддерживается (за исключением случаев, когда favicons). Как уже упоминалось ранее, ICO может иметь несколько значков размера, что полезно для настольных приложений, но не слишком много для веб-сайтов. Я бы порекомендовал вам поместить favicon.ico в корень вашего приложения. Если у вас есть доступ к заголовку страниц вашего сайта, используйте тег, чтобы указать на файл png. Таким образом, более старый браузер покажет favicon.ico и более новые png.
Чтобы создать файлы Png и Icon, я бы рекомендовал Gimp.
Некоторые социальные инструменты, такие как Google+, используют простой метод получения значка для внешних ссылок, выборки http://your.domainname.com/favicon.ico
Так как они не префикс HTML-содержимого, тэг <link>
не будет работать. В этом случае вы можете использовать правило mod_rewrite или просто поместить файл в местоположение по умолчанию.
Избегайте PNG в любом случае, если вы хотите надежную совместимость с IE6.
Ико может быть a png.
Точнее, вы можете сохранить один или несколько png в этом минимальном формате контейнера, а не обычную bitmap + alpha, которую все сильно ассоциируют с ico.
Поддержка старая, появляется в Windows Vista (2007) и хорошо поддерживается браузерами, но не обязательно с помощью программного обеспечения для редактирования значков.
Любой действительный png (весь заголовок) может быть добавлен 6-байтовый заголовок ico и 16-байтовый каталог изображений.
GIMP имеет встроенную поддержку. Просто экспортируйте как ico и отметьте "Сжатый (PNG)".