#internet-explorer #ipv6 #favicon
#internet-explorer #ipv6 #значок
Вопрос:
Я использовал express в качестве локального сервера для тестирования своего веб-приложения. Все было в порядке, когда я обращался к серверу, используя ipv4-адрес (localhost: 8000) в браузере IE 11. Однако, когда я обращался к серверу с использованием ipv6-адреса([::1]:8000), все работало хорошо, за исключением того, что IE не показывал значок.
Я проверил информацию журнала в режиме отладки в IE и обнаружил, что IE не отправил запрос на запрос значка (подтвердите в экспресс-консоли, что сервер не получил запрос на запрос значка).
PS: я попытался получить доступ к значку напрямую, используя http://[::1]:8000/ фавикон.ico. Все было в порядке.
Комментарии:
1. Я очищал файлы cookie, кэш … каждый раз, когда я тестировал.
2. localhost: 8000 по умолчанию будет использовать IPv6, а не IPv4.
Ответ №1:
Похоже, что это из-за ошибки IE. смотрите ссылку: https://connect.microsoft.com/IE/feedback/details/961284/favicon-not-displayed-on-ipv6-literal-hostnames
ПРИМЕЧАНИЕ: localhost: 8000 по умолчанию будет использовать IPv6, а не IPv4.
Убедитесь, что у вас есть следующий код <head>
.
<link href="/favicon.ico" rel="shortcut icon">
Если вы используете IP-адрес напрямую, IE не будет пытаться получить доступ к /favicon.ico.
Комментарии:
1. Да, вы правы. Я изменил файл хоста и изменил localhost на ::1. Теперь IE может отображать значок значка, если я использую localhost: 8000. Но я не мог понять модификацию. Если я использую адрес ipv4, IE всегда отображает значок значка, если я использую 127.0.0.1: 8000 или localhost: 8000. Почему не работает, когда я использую ipv6-адрес напрямую?
2. @binjun. ван, у тебя есть элемент ссылки в заголовке?
3. Похоже, что это из-за ошибки IE. смотрите ссылку: connect.microsoft.com/IE/feedback/details/961284 /…
4. Да, у меня есть элемент link в head.