2012-11-10 424 views
6

純SVG文件能否到達瀏覽器,支持favicon.ico規範?我的情況是機器生成的純SVG,沒有html><head>標籤可用。純SVG文檔可以指定一個Favicon.ico嗎?

+1

你可以嘗試創建一個foreignObject元素並在其中粘貼favicon鏈接。 –

+0

感謝羅伯特,這至少部分起作用。適用於IE9,但不適用於Firefox。我懷疑這是FF的正確軌道,因爲缺省的favicon現在不存在。在使用第一個''元素後,' \t \t <鏈路的rel =」 圖標的」 href = 「favicon.ico的」 類型= 「圖像/ X-圖標」> 」 – Dave

+1

複製和粘貼於上述作品我在Firefox上。 –

回答

8

是,由於SVG是XML,你可以在任何地方在SVG添加(X)HTML鏈接元素:

<link xmlns="http://www.w3.org/1999/xhtml" rel="shortcut icon" 
href="favicon.ico" /> 

絕對沒有必要在foreignObject到這個包起來。我建議將鏈接元素作爲< defs>元素的子元素,只是爲了讓svg引擎知道它可以跳過實際的svg渲染。

注意,這不是「純粹」的SVG,這是一個XHTML/SVG混合 - 但它應該在所有支持SVG的瀏覽器。

+0

謝謝埃裏克和羅伯特。我認爲這是解決的。我的FF仍然在favicon區域顯示「空白」內容,所以這可能是因爲我的網絡服務器設置或我的FF設置。 – Dave

+0

需要說明的是,一些着作使用'rel =「icon」',但我發現需要'rel =「shortcut icom」'才能使IE正常運行。有關跨瀏覽器問題的更多信息,請參閱favicon上的維基百科文章。再次感謝你們! – Dave

+0

我試過你的答案,但W3C驗證器不會驗證它。我試圖定義名稱空間,但無濟於事。 <! - language:lang-xml - > <?xml version =「1.0」encoding =「UTF-8」?> <!DOCTYPE svg PUBLIC「 - // W3C // DTD SVG 1.1 // EN 「 」http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd「> Demægtigevikinger < xhtml:link rel =「shortcut icon」href =「favicon.ico」type =「image/x-icon」/> dotnetCarpenter

相關問題