4种基本技术可以用于检测浏览器是否支持某种
html5
特性,从简单到复杂的顺序:
1、检测全局对象(window或navigator)是否拥有特定的属性。
如果浏览器支持地理位置api的话,全局的navigator对象上会有一个名为geolocation的属性,反之,navigator对象上该属性的值为undefined:
如果不想写这个方法的话,可以使用modernizr库提供的方法检测浏览器是否支持地理位置API:
2、创建一个元素,然后检测该元素的DOM对象是否拥有特定的属性。以检测画布特性为例。
return !!document.createElement_x_x('canvas').getContext;这一句是创建一个虚拟的
function supports_geolocation(){
return !!navigator.geolocation;
}if(Modernizr.geolocation){ do something}
else{ do something }function supports_canvas(){
return !!document.createElement_x_x('canvas').getContext;
}