您的位置:首页 > Web前端 > JavaScript

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

2015-03-27 00:00 253 查看
摘要: 有一部分浏览器对HTML5的支持不够理想,对于不支持HTML5的浏览器JS将无法获得DOM对象,需要if-else要兼容

首先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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息