有四种基础技术可以用来检测浏览器是否支持某种HTML5特性,从简单到复杂依次是:
1、检测全局对象(window或者navigator)是否拥有特定的属性。
例如 地理定位: return !!navigator.geolocation ; //返回布尔值判断是否存在
2、创建一个元素,然后检测该元素的DOM对象是否拥有特定的属性。
检测画布的特性 : return !!document.createElement("canvas").getContext;
3、创建一个元素,然后检测这个元素的DOM对象是否拥有特定的方法,同时调用这个方法并检测它的返回值。
检测视频格式 :
function sup_video(){
return !!document.createElement("video").canPlayType ;
}
function sup_webm_video(){
if( !sup_video() ){
return false ;
}
var v = document.createElement("video") ;
return v.canPlayType( 'video/webm ; codecs="vp8 , vorbis" ' ) ;
}
4、创建一个元素,给这个元素的DOM对象设定特定的属性值,然后检查浏览器是否保留该属性值
检测浏览器是否支持新的输入框类型
var i = document.createElement('input') ;
i.setAttribute( "type" , "color" ) ;
return i.type !== "text"
5、引入 modernizr库
if( !Modernizr.inputtypes.date ){
//浏览器没有提供<input type="date"> , 你需要引入Dojo,jqueryUI的时间选择器控件
}