Крім того, що PNG є більш поширеним форматом зображення, чи є якісь технічні причини надати перевагу favicon.png проти favicon.ico?
Я підтримую сучасні браузери, які підтримують улюблені піктограми PNG.
Крім того, що PNG є більш поширеним форматом зображення, чи є якісь технічні причини надати перевагу favicon.png проти favicon.ico?
Я підтримую сучасні браузери, які підтримують улюблені піктограми PNG.
Відповіді:
Відповідь замінено (і перетворилося на Wiki Wiki) завдяки численним оновленням та нотаткам різних інших у цій темі:
Не соромтеся ознайомитись з іншими відповідями тут для отримання більш детальної інформації.
Усі сучасні браузери (тестовані на Chrome 4, Firefox 3.5, IE8, Opera 10 та Safari 4) завжди будуть запитувати, favicon.ico
якщо ви не вказали піктограму ярлика через <link>
. Тому якщо ви чітко не вказуєте жодного, краще завжди мати favicon.ico
файл, щоб уникнути 404. Yahoo! пропонує зробити його невеликим і кешованим.
І вам також не доведеться шукати PNG лише для прозорості альфа. ICO-файли підтримують прозорість альфа-просто дуже добре (тобто 32-бітний колір), хоча навряд чи будь-які інструменти дозволяють створювати їх. Я регулярно використовую FavIcon Generator Dynamic Drive для створення favicon.ico
файлів з прозорістю альфа. Це єдиний Інтернет-інструмент, про який я знаю, що може це зробити.
Також є безкоштовний плагін Photoshop, який може їх створити.
.ico
редагування в PS. І навіть якщо ви це зробите, кінцевий результат дуже поганий, ви можете подумати, що це .bmp
був кращий формат (це додає багато метаданих, що робить переробку величезним болем).
.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 - це для користувачів iphone, які роблять ярлик до веб-сайту.
Теоретична перевага файлів * .ico полягає в тому, що вони є контейнерами, ніж можуть містити більше одного значка. Наприклад, ви можете зберегти зображення з альфа-каналом та 16-кольоровою версією для застарілих систем, або ви можете додати піктограми 32x32 та 48x48 (які відображатимуться, наприклад, перетягуючи посилання на Windows Explorer).
Однак ця гарна ідея, як правило, стикається з реалізацією браузера.
У PNG є 2 переваги: він має менший розмір, і він більш широко використовується та підтримується (за винятком випадків, коли заборонено). Як згадувалося раніше ICO, може мати піктограми різних розмірів, що корисно для настільних додатків, але не надто багато для веб-сайтів. Я рекомендую вам поставити favicon.ico у корінь програми. Якщо у вас є доступ до сторінки веб-сайту, використовуйте тег для вказівки на png-файл. Тож старший браузер покаже favicon.ico та новіші png.
Для створення файлів Png та Icon я рекомендував би Gimp .
Деякі соціальні інструменти, як-от Google+, використовують простий метод отримання фавікон для зовнішніх посилань, отримання http://your.domainname.com/favicon.ico
Оскільки вони не попередньо вибирають вміст HTML, <link>
тег не працюватиме. У цьому випадку ви можете скористатись правилом mod_rewrite або просто розмістити файл у розташуванні за замовчуванням.
Іко може бути PNG.
Точніше, ви можете зберігати один або більше PNG у цьому мінімальному форматі контейнера, замість звичайного растрового зображення + альфа, яке всі сильно асоціюються з ico.
Підтримка стара, з'являється в Windows Vista (2007) і добре підтримується браузерами, хоча не обов'язково програмним забезпеченням для редагування значків.
Будь-який дійсний png (цілий, включаючи заголовок), може бути попереджено за допомогою 6-байтного заголовка ico та 16-байтового каталогу зображень.
GIMP має вбудовану підтримку. Просто експортуйте як ico і поставте галочку "Стиснений (PNG)").
У будь-якому випадку уникайте PNG, якщо ви хочете надійної сумісності IE6.
<link>
код сторінки у сучасних браузерах.
Для чого це варто, я роблю це:
<!-- Favicon - Generic -->
<link rel="icon" href="path/favicon-32_x_32.png" sizes="32x32">
<link rel="icon" href="path/favicon-57_x_57.png" sizes="57x57">
<link rel="icon" href="path/favicon-76_x_76.png" sizes="76x76">
<link rel="icon" href="path/favicon-96_x_96.png" sizes="96x96">
<link rel="icon" href="path/favicon-128_x_128.png" sizes="128x128">
<link rel="icon" href="path/favicon-192_x_192.png" sizes="192x192">
<link rel="icon" href="path/favicon-228_x_228.png" sizes="228x228">
<!-- Favicon - Android -->
<link rel="shortcut icon" href="path/favicon-196_x_196.png" sizes="196x196">
<!-- Favicon - iOS -->
<link rel="apple-touch-icon" href="path/favicon-120_x_120.png" sizes="120x120">
<link rel="apple-touch-icon" href="path/favicon-152_x_152.png" sizes="152x152">
<link rel="apple-touch-icon" href="path/favicon-180_x_180.png" sizes="180x180">
І я все ще зберігаю favicon.ico в корені.