IE не отображает значки.ico в HTML, если не используется как "image/x-icon"

Я показываю значки сайтов в списке, как <img /> элементы.

некоторые сайты служат им как:

<link rel="icon" type="image/x-icon" href="favicon.ico" />

а некоторые служат им как:

<link rel="shortcut icon" href="favicon.ico" />

IE не показывает изображения значков тех, у кого нет type = "image / x-icon".
Я не могу контролировать, как веб-сайты обслуживают их значки, что я могу сделать со своей стороны?

3 ответа

Решение

Я думаю, что лучше всего конвертировать их в другой формат. Если вы отображаете значки вручную, вы можете загрузить каждый из них, преобразовать его с помощью графической программы и загрузить на свой сайт.

Если вы делаете это автоматически, вам нужно взглянуть на все инструменты обработки изображений, которые вы получаете на стороне сервера. Если вы используете PHP, это будут библиотеки GD или ImageMagick. Просто конвертируйте в PNG, например, и кешируйте на своем сайте.

Если IE не отображает.ico-файлы, встроенные в страницу, маловероятно, что вы сможете отобразить его без какой-либо обработки. На самом простом уровне вы можете просто читать внешние изображения и подавать их как правильный тип пантомимы, не конвертируя их.

Поместите это в ваш конфиг apache или .htaccess файл:

AddType image/x-icon .ico

К сожалению, кажется, не решить проблему, которая у меня есть. IE не отображает все favicon.ico в моем списке ссылок ( http://www.jerbils.info/wxlinks.php), в то время как все другие браузеры отображают (то есть отображают все существующие favicon.ico). Интересно, что если я вручную отображаю favicon.ico домена в IE, те, которые не отображаются в IE и отображаются во всех других браузерах, отображаются в виде текстового содержимого, а не изображения. Подразумевается, что в файлах есть что-то, что не нравится IE, и, следовательно, он генерирует условие ошибки, из-за которого отображается значок по умолчанию.

Другие вопросы по тегам