2014-05-13 22 views
1

最近我由Nicholas C. Zakas閱讀這篇文章:空SRC屬性和表現不佳

http://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/

它說,空SRC在IMG和腳本文件例如屬性可能會導致性能不佳。我的問題是:

是否還有同樣的性能問題,如果沒有src屬性呢?

例子:

<img id="image" /> 

此外,如何將瀏覽器解讀?上述代碼在任何地方都會有問題嗎?

非常感激的任何幫助。

+3

你不允許有一個'img'元素沒有'首先src'屬性,所以我會說,這是潛在的問題*任何地方*它發生。無論是否存在性能問題,您都應該努力盡可能避免發生性能問題。 – BoltClock

+2

現在的瀏覽器比「2009」更聰明。新瀏覽器(測試)中不存在描述的問題。 – ViliusL

+0

感謝BoltClock - 是W3規範在那裏說的? – user1360809

回答

0

這是從a very old version of the HTML spec

SRC(源)

src屬性指定了URI用於待嵌入圖像。它的語法與標籤的HREF屬性相同。 SRC是強制性的。

@src是必需的,所以如果你有一個<img>缺少@src,那麼它不會是一個有效的HTML。儘管瀏覽器是非常寬容的,但他們在這種情況下會做什麼可能是特定於實現的。

編輯:from HTML 5 spec

src屬性必須存在,並且必須包含有效的非空URL潛在地由空間引用非交互,任選動畫,圖像資源包圍該既不是分頁也不是腳本。

因此,一個<img>與缺少或空的@src將不是有效的HTML。

據我所知,HTML 5仍然沒有指定瀏覽器應如何處理缺少src屬性,雖然它說:

如果src屬性未設置,要麼alt屬性設置爲空字符串或alt屬性沒有被設置在所有

的元素代表什麼。

+0

爲什麼你選擇引用舊的過時規範而不是最新的規範,或者至少還有一個仍然被廣泛使用? – BoltClock

+0

@BoltClock:沒有理由,只是出於方便。由於它是首次出現在來自W3C的Google搜索中(其他結果來自w3schools和MDN),這是否令人滿意?我很確定img標籤的這個方面從那時起就沒有改變過。 –

+0

所以事實證明。我猜你的搜索條件之一就是「強制性」這個詞 - 它確實首先返回了HTML 3.0規範(甚至不包括HTML 3.2規範!),因爲它是唯一使用該詞的規範。 – BoltClock