2010-01-04 9 views
9

У меня есть веб-приложение asp.net mvc, и оно использует некоторый favicon.ico. Теперь, когда я перемещаю его в IIS 7, в качестве приложения, favicon перестает отображаться, даже когда я пытаюсь ввести полный адрес в значок. Значок все еще там; полный адрес работает в браузере, чтобы найти значок самостоятельно, но не на главной странице приложений. Код является стандартным и таким же, как у некоторых других моих приложений, но там он работает.Почему браузер не показывает значки после развертывания

<head runat="server"> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title> 
    <link rel="shortcut icon" href="../../Content/Images/favicon.ico" /> 
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="../../Scripts/jquery-1.3.2.min.js"></script> 
    <script type="text/javascript" src="../../Scripts/Site.js"></script> 
</head> 

Любые идеи, почему это может быть?

ответ

7

Если я правильно помню, в Internet Explorer для значка требуется абсолютный адрес. Если это не поможет:

  • Возможно, IIS служит для файла значков с неправильным типом контента? Я думаю, что правильный - image/vnd.microsoft.icon. См this page способа настроить тип содержимого в IIS 7.
  • Там целого ряд дополнительных намеков on this page
+2

Downvoted, потому что вы связываетесь с обменом экспертами (плата за просмотр сайта решения). Тебе должно быть стыдно за себя. – Jacob

+0

@ Jacob hahahaha! Справедливо. Не знаю, что заставило меня связаться с EE, обычно я этого не делаю. Я заменил его. –

+1

Прокрутка для просмотра, если вы пришли из Google. – mplungjan

4

попробуй изменить ссылку тег:

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

Браузеры очень привередливы о знаках. Они не всегда будут получать их при обновлении, и часто они будут пропускать их по своему усмотрению.

Лучшим подходом является размещение вашего значка в корне вашего документа, чтобы ссылка была /favicon.ico. Также убедитесь, что это настоящий файл формата .ICO в формате Microsoft. Поиск по пути с родительскими каталогами .. - как и вы здесь, - задает проблемы.

Там нет официального сервера и браузер стандартного креста, для получения дополнительной информации см: http://en.wikipedia.org/wiki/Favicon

+0

. Нотация здесь из-за asp.net mvc. Он имеет некоторые отличные свойства, но когда дело доходит до отображения изображений, это ад. – Trimack

2

Попробуйте добавить

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

в первой строке после <head> тега, это работает для меня в Chrome и IE10 с IIS7.

Проверьте, чтобы на вашем сайте не было более одного файла DOCTYPE для разделения типов содержимого IE и Chrome. Один из способов узнать - проверить исходный код, чтобы увидеть, действительно ли ссылка favicon находится под тегом <head>.

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

Смежные вопросы