2011-11-18 30 views
8

如果我指定圖標PNG格式不同的圖像大小,像這樣:是否從服務器獲取所有favicon尺寸?

<link rel="icon" type="image/png" sizes="16x16" href="/favicon.png" /> 
<link rel="icon" type="image/png" sizes="24x24" href="/favicon-24px.png" /> 
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32px.png" /> 
<link rel="icon" type="image/png" sizes="48x48" href="/favicon-48px.png" /> 
<link rel="icon" type="image/png" sizes="64x64" href="/favicon-64px.png" /> 
<link rel="icon" type="image/png" sizes="256x256" href="/favicon-256px.png" /> 
<link rel="icon" type="image/png" sizes="512x512" href="/favicon-512px.png" /> 
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 

請問這些文件中的每一個獲得牽強?

回答

3

根據specification,將使用最合適的圖標。所以沒有必要去取一些沒用的東西。

如果提供了多個圖標,則用戶代理必須根據類型,介質和尺寸屬性選擇最合適的圖標。

+1

規範只是說它會決定使用哪個。它是否提取僅僅是一個假設。 – chimerical

+2

並且不要指望正在提取的最合適的圖標。 Firefox似乎只是獲得最大的一個,然後將其縮小。 Internet Explorer似乎根本不支持PNG文件。 – Twilite

+0

那麼,我同意,如果沒有關於規範的明確信息,所以它可能因瀏覽器而異,因爲瀏覽器可能只是下載要使用的,或者將來全部下載並緩存使用(最不可能的) 。無論如何,只是閱讀一些訪問日誌將回答問題的很大一部分。 –

5

http://www.jonathantneal.com/blog/understand-the-favicon/報價:

如何將這些PNG-圖標兼容的瀏覽器確定應使用哪個圖標 ? Firefox和Safari將使用最後的 的favicon。 Chrome for Mac將使用ICO格式化的任何圖標, ,否則爲32×32圖標。 Chrome for Windows將使用圖標爲16×16的favicon ,否則爲ICO。如果上述選項都不可用,則兩個Chromes都會使用哪一個 favicon排在第一位,與Firefox和Safari完全相反。 事實上,Chrome for Mac將忽略16×16圖標,並使用32×32 版本,如果僅將其縮小到非視網膜設備上的16×16。 歌劇,不想偏袒,將隨機選擇 的任何可用圖標。我喜歡Opera做到這一點。

而這只是一個開始。現在該瞭解關於Internet Explorer警告的 了。

儘管IE8-10會在頁面第一次加載時顯示 圖標,但IE7將跳過第一次加載 並在重複訪問期間顯示favicon。更糟糕的是,IE6只會在 顯示收藏圖標,一旦網站已被收藏並重新打開,瀏覽器將在 。只要瀏覽器緩存 被清除,IE6也會放棄收藏圖標,並且在網站 重新收藏書籤或重新加載收藏夾圖標之前,它不會再顯示收藏圖標。如果IE6 和favicon對您意義重大,您可以使用 小JavaScript片段強制執行此重新加載操作,最好包含在條件 評論中。

<!-- I "support" IE6 --> 
<!--[if IE 6]><script>(new Image).src="path/to/favicon.ico"</script><![endif]--> 
+0

如果任何人都可以提供更多細節(如上所述),請做。我寧願把賞金獎給別人。 –

-1

瀏覽器將得到只有一個文件,如果有的話。

2

出人意料的是,我觀察到一些瀏覽器加載所有PNG網站圖示,不僅是最適合的一個:

  • Chrome Windows版
  • Android版Chrome
  • 的Firefox在Windows

我沒有測試其他設置,例如Android上的Firefox。

有關"all favicons are loaded" issue的更多信息。