WEB(五)_​Modernizr.js检测浏览器HTML5新增特性的支持

首先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)

你可能感兴趣的:(JavaScript,前端,html5,jqeury)