2016-10-03 31 views
0

我使用express作爲本地服務器來測試我的web應用程序。當我在IE 11瀏覽器中使用ipv4地址(本地主機:8000)訪問服務器時,所有的地址都是 。但是,當我使用ipv6地址([:: 1]:8000)訪問服務器時,一切運作良好,除了IE沒有顯示圖標。當通過ipv6地址訪問服務器時,IE 11不顯示收藏夾圖標

我在IE中以調試模式檢查了日誌信息,發現IE沒有發送請求來要求圖標(在express console中確認服務器沒有收到請求圖標的請求)。

PS:我試圖直接使用http://[::1]:8000/favicon.ico訪問圖標。還可以。

+0

我每次測試都清除了Cookie,緩存...。 –

+0

localhost:8000默認使用IPv6,而不使用IPv4。 – qin

回答

0

看來這是因爲IE的bug。請參閱鏈接: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。

+0

是的,你是對的。我修改了主機文件並將localhost更改爲:: 1。現在IE可以顯示圖標,如果我使用本地主機:8000。但我無法理解修改。如果我使用ipv4地址,IE總是顯示圖標,如果我使用127.0.0.1:8000或localhost:8000。當我直接使用ipv6地址時,爲什麼不工作? –

+0

@ binjun.wang你頭上有鏈接元素嗎? – qin

+0

這似乎是因爲IE bug。請參閱鏈接:https://connect.microsoft.com/IE/feedback/details/961284/favicon-not-displayed-on-ipv6-literal-hostnames –