2012-10-05 18 views
6

html5shiv Google Code page的示例用法包括IE條件:在每個瀏覽器中加載html5shiv是否有任何不良副作用?

<!--[if lt IE 9]> 
    <script src="dist/html5shiv.js"></script> 
<![endif]--> 

然而在html5shiv github page,該描述說明:

該腳本是事實上的方式,以使使用HTML5的切片在 元件傳統Internet Explorer,以及Internet Explorer 6中的默認HTML5樣式 - 9,Safari 4.x(和iPhone 3.x), 和Firefox 3.x

一個明顯的矛盾。因此,爲了滿足我的好奇心,對誰研究的代碼的人,有沒有什麼副作用會影響到加載在每個瀏覽器html5shiv(不IE條件)?

編輯:我的目標很明顯,就是用SHIV沒有IE條件。

回答

4

我認爲googlecode上的頁面上的條件註釋(更新可能比去年同期多),是因爲IE8及以下需要javascript trick允許HTML5元素的CSS樣式

FF4,Safari 4,Opera 11及以下版本不會將display:block默認應用於「未知」元素,但您只需要CSS reset即可更改此行爲。

html5shiv確實在這些瀏覽器是什麼只是在<head>,類似的開頭加上<style>這一個:

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { 
    display: block; 
} 

來源:http://meyerweb.com/eric/tools/css/reset/

所以,不應該給出任何副作用,因爲這些規則可以被連續的聲明覆蓋。

只要你添加上你的主要CSS文件的頂部該規則,它的確定條件包括html5shiv IE瀏覽而已,你可以節省一個http請求。

如果你希望你的HTML5網站與FF2兼容太(如果是的話,你是一個瘋子), check this tutorial

OP發現html5shiv已經爲FF2回退!

+0

謝謝。對於任何感興趣的人,只要客戶端在其UA中啓用了JavaScript,html5shiv也可以解決FF2問題。 – Jeff

+0

謝謝@Jeff,我不知道!他們應該把它寫在他們的GitHub :) – Giona

+0

如果這就是所有html5shiv所做的,爲什麼不把這個塊添加到你的主要CSS文件並完成它呢?如果您的網站是由古老的瀏覽器瀏覽的,它會有所幫助,並且如果他們使用現代瀏覽器,它不會造成任何傷害。對? –

相關問題