首先Modernizr.js插件,它能简单的帮助开发者向浏览器询问是否支持HTML5标签
<head>
<script src="modernizr.js"></script>
</head>
通过上面的调用就可以正常使用了,下面我们来试试吧,其中会用原生js写法和插件写法,自己判别那种适合自己吧
1.canvas
//插件写法
if(Moderniz.canvas){
alert("浏览器支持Canvas标签");
}else{
alert("浏览器不支持Canvas标签")
}
//原生写法
function isCanvas(){
return !!document.createElement('canvas').getContext;//双重!!(否定)用于强制这个检测方法返回一个布尔值
}
2.video
//插件写法
if(Moderniz.video){
alert("浏览器支持video标签");
}else{
alert("浏览器不支持video标签")
}
//原生写法
function isVideo(){
return !!document.createElement('video').getContext;//双重!!(否定)用于强制这个检测方法返回一个布尔值
}
3.本地存储localStorage
//插件写法
if(Moderniz.localstorage){//注意小写
alert("浏览器localStorage支持");
}else{
alert("浏览器不支持localstorage");
}
//原生写法
function isLocalStorage(){
return ('localStorage' in window) && window['localStorage']!=null;
}
4.人工线程(后台线程)Web Worker
//插件写法
if(Moderniz.webworkers){//注意小写
alert("浏览器workers支持");
}else{
alert("浏览器不支持workers");
}
//原生写法
function isWorker(){
return !!window.Worker;//双重!!(否定)用于强制这个检测方法返回一个布尔值
}
5.离线Web应用(针对移动应用居多)Applicationcache
//插件写法
if(Moderniz.applicationcache){//注意小写
alert("浏览器applicationcache支持");
}else{
alert("浏览器不支持applicationcache");
//可以尝试使用Gears或者其他第三方解决方案!
}
//原生写法
function isApplicationCache(){
return !!window.applicationCache;//双重!!(否定)用于强制这个检测方法返回一个布尔值
}
6.地理位置geolocation
//插件写法
if(Moderniz.geolocaltion){//注意小写
alert("浏览器geolocaltion支持");
}else{
alert("浏览器不支持geolocaltion");
//可以尝试使用geolocaltion或者其他第三方解决方案!
}
//原生写法
function isGeolocaltion(){
return !!navigator.geolocaltion;//双重!!(否定)用于强制这个检测方法返回一个布尔值
}
以上就是HTML5新特性的判定了!
作者:五谷子(wuguzi)