html5 Up and Running 学习笔记(二)

html5 Up and Running 学习笔记(二)


三、第三方检测库以及解决相应浏览器不支持html5新特性的方案

1、Modernizr

1.1 Modernizr是一个基于MIT许可证发布的开源JavaScript类库,用于检测浏览器是否支持HTML5及css3新特性。
1.2 HTML5各API的检测示例:
Moderniz是自动运行的,只要放在<head>标签里就行。

<canvas>
if(Modernizr.canvas){
//  开始画些什么吧!
}else{
// 浏览器没有提供原生的canvas支持
// IE 需要第三方类库exploerecanvas支持(IE8及以下)
}

<canvas> 文本API
if(Modernizr.canvastext){
// 让我们画些文字吧!
}else{
// 浏览器没有提供原生canvas文本支持
// IE 需要第三方类库exploerecanvas支持(IE8及以下)
}

<video> 视频
if(Modernizr.video){
// 播放某个视频
}else{
// 浏览器不提供video原生支持
// 检查QuickTime 或 Flash可否顶上
}

视频格式(Modernizr不支持webM格式的检测)
if(Modernizr.video){
  // 可以播放视频了,但播放哪一个格式呢?
if(Modernizr.video.ogg){
// 尝试在Ogg容器中使用Ogg Theora+Vorbis
}else if(Modernizr.video.h264){
// 尝试在MP4容器中使用H.264视频+AAC音频
}
}

本地存储
if(Modernizr.localstorage){
// window.localStorage存在
}else{
// 浏览器没有提供本地存储的原生支持
//  或许可以尝试使用Gears或者其他的第三方解决方案
}

Web Workers
if(Modernizr.webworkers){
// window.Worker存在
}else{
// 浏览器没有提供web worker的原生支持
// 也许可以尝试使用Gears或其他第三方解决方案
}

离线web应用
if(Modernizr.applicationcache){
// window.applicationCache 存在
}else{
// 浏览器没有提供原生的离线支持
// 也许可以尝试使用Gears或者其他第三方解决方案
}

地理位置
if(Modernizr.geolocation){
// 让我们找出你在哪?
}else{
// 浏览器没有提供原生的地理位置支持
// 也许可以尝试使用Gears或者其他第三方解决方案
}

输入框类型(只举一个例子)
if(!Modernizr.inputtypes.date){
// 浏览器没有提供<input type="date">原生支持
// 也许你需要自己用Dojo或JqueryUI来构造一个类似的控件
}

占位文本
if(Modernizr.input.placeholder){
// 也许你已经看到占位文本了
}else{
// 占位文本还不被支持,退而使用脚本解决方案
}

表单自动聚焦
if(Modernizr.input.autofocus){
// autofoucs 可以工作
}else{
// 浏览器不支持autofocus,退而采用脚本解决方案
}

微数据(暂不支持)

四、explorercanvas的使用方法(IE 8及以下不支持canvas的情况下使用explorercanvas类库)

在<head>标签中使用,如:
<head>
<meta charset="utf-8">
<title>html5</title>
<!--[if IE]>
<script src="excanvas.js"></script>
<![endif]-->
</head>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值