我們之前已經(jīng)討論了HTML5許多很酷的新功能,包括新的語義元素、為畫圖而生的canvas標簽,以及音頻與視頻支持。這些東西是很好,但當用戶的瀏覽器不兼容HTML5時,可能就沒法使用它們了。更不用說一些所謂的“支持”HTML5的瀏覽器,實際上只支持它的一部分功能而已。并不是所有HTML5新功能都會被所有瀏覽器所支持,而且許多HTML5特性在不同瀏覽器上也許使用了不同的實現(xiàn)方式。不過,有一種方法可以使用新的特性,同時不影響舊版瀏覽器對站點的訪問。可以使用polyfill。polyfill向舊版瀏覽器提供后備的功能。當舊版瀏覽器不支持站點中的某項HTML5功能時,polyfill會補充其中的空隙。學會使用這些polyfill,你就不必為了使用HTML5而拋棄那些使用舊版瀏覽器的用戶。獲得polyfill支持的一種方法是使用JavaScript庫——Modernizr(當然可用的不止這一種)。它會帶來特性偵測能力,這樣你就能檢查瀏覽器究竟是否支持某種功能(比如canvas元素)。如果不支持,就提供一個備用的選擇。
例如前面的html新元素代碼,有很多html5新的元素,如果在不支持的瀏覽器中使用,界面將不堪入目。是因為沒能識別所使用的那些HTML5新元素,就沒有把它們加到DOM,隨之而來的就是我們不能使用CSS去設計頁面。
為了解決這個問題,可以增加一條對Modernizr的引用(不需要改動任何其他代碼?。?,就會把這些元素強制放入DOM。從http://www.modernizr.com/download/下載完Modernizr后,在< head>區(qū)域添加一條引用即可,代碼如下所示。
<head>
<meta charset="utf-8" />
<title>Title</title>
<link href="css/html5reset.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<script src="script/modernizr-2.0.6.js" type="text/javascript"></script>
</head>
modernizr可以有很多的用途,比如修復界面效果,在這里不做詳細敘述。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請
點擊舉報。