2013-07-09 31 views
1

我從來沒有使用HTML5或CSS3。我只是學習並計劃在稍後的Web項目中使用它們。如果我們只是在頁面中包含modernizr js文件,並不能幫助我們檢測哪些功能有效,那麼我們需要爲modernizr後備系統編寫代碼,並且如果HTML5功能不受支持,我們將決定如何處理情況。瀏覽器。這裏是一個Modernizr的備用例如modernizr&HTML5shiv庫的主要用法

Modernizr.load({ 
    test: Modernizr.canvas, 
    nope: 'http://flashcanvas.net/bin/flashcanvas.js' 
}); 
  1. 如果Modernizr的可以處理任何瀏覽器的話,我爲什麼要使用HTML5shiv庫?
  2. 爲什麼在頁面上已經使用Modernizr時需要包含HTML5shiv?
  3. HTML5shiv庫如何工作?它只是通過包括它解決所有IE問題?
  4. HTML5shiv是否提供任何備用系統?
  5. 如何在瀏覽器爲IE的情況下有條件加載HTML5shiv庫?

請提供您的答案和代碼示例。

期待討論。謝謝

回答

1

如果Modernizr可以處理任何瀏覽器,那麼爲什麼我應該使用HTML5shiv庫?

爲什麼在頁面上已經使用Modernizr時需要包含HTML5shiv?

您不需要單獨包含html5shiv,因爲Modernizr包含它。從Modernizr 1.5開始,此腳本與流行的html5shim/html5shiv庫中使用的相同

HTML5shiv庫如何工作?它只是通過包括它解決所有IE問題?

html5shiv只允許IE識別和設置HTML5元素。而已。

HTML5shiv是否提供任何備用系統?

不,只有Modernizr支持特徵檢測。請注意,Modernizr本身並不會給您提供回退。你可以使用yep/nope提供polyfills或回退給你想支持

如果瀏覽器是IE如何有條件地加載HTML5shiv庫中的要素?

使用條件HTML註釋,這將加載html5shim上IE版本低於9

<!--[if lt IE 9]> 
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]-->