一、检测浏览器是否支持某种HTML5特性,从简单到复杂一次是:
1.检测全局对象(诸如window或者navigator)是否拥有特定的属性。以检测地理位置特性为例。function supports_geolocation(){
return !!navigator.geolocation;
2.创建一个元素,然后检测该元素的DOM对象是否拥有特定的属性。以检测画布特性为例。}
function supports_canvas(){
return !!document.createElement('canvas').getContext;
3.创建一个元素,然后检测这个元素的DOM对象是否拥有特定的方法,同时调用这个方法并检查它的返回值。以检测支持的视频格式为例。}
function supports_video(){
return !!document.createElement('video').canPlayType;
4.创建一个元素,给这个元素的DOM对象设定特定的属性值,然后检查浏览器是否保留了该属性值。以检测支持的<input>类型为例。}
var i=document.createElement("input");
i.setAttribute("type","color");
return i.type!=="text";
二、IE浏览器识别未知元素
<!--[if lt IE 9]>
<script>
var e=("abbr,article,aside,audio,canvas,datalist,details,figure,footer,header,hgroup,mark,menu,nav,output,progress,section,time,video").split(',');
for(var i=0;i<e.length;i++){
document.createElement(e[i]);
}
</script>
<![endif]-->
或者
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->