HTML5学习第二节 HTML5新元素的介绍
admin
2023-06-12 04:21:41
0

首先要检查你的浏览器是否支持HTML5,主要的JS代码如下:

function check_html5()
{
if(!!document.createElement('video').canPlayType)
  {
  var vidTest=document.createElement("video");
  oggTest=vidTest.canPlayType('video/ogg; codecs="theora, vorbis"');
  if (!oggTest)
    {
    h364Test=vidTest.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');
    if (!h364Test)
      {
      document.getElementById("checkVideoResult").innerHTML="Sorry. No video support."
      }
    else
      {
      if (h364Test=="probably")
        {
        document.getElementById("checkVideoResult").innerHTML="Yes! Full support!";
        }
      else
        {
        document.getElementById("checkVideoResult").innerHTML="Well. Some support.";
        }
      }
    }
  else
    {
    if (oggTest=="probably")
      {
      document.getElementById("checkVideoResult").innerHTML="Yes! Full support!";
      }
    else
      {
      document.getElementById("checkVideoResult").innerHTML="Well. Some support.";
      }
    }
  }
else
  {
  document.getElementById("checkVideoResult").innerHTML="Sorry. No video support."
  }
}

一、HTML5下的视频引用方式

通过以上的检查之后,笔者用火狐测试了这个功能。视频的元素是 video ,video 元素支持两种格式的视频:

 IE 8Firefox 3.5Opera 10.5Chrome 3.0Safari 3.0
Ogg  
MPEG 4   

其中 ogg 是指带有 Thedora 视频编码和 Vorbis 音频编码的 Ogg 文件

MPEG4 是指 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件

代码如下:


  
  
Your browser does not support the video tag.

以上代码的意思是:引用一段视频,宽320 高240  controls意思是带有视频控制 source 是视频地址,video元素允许有多个source元素,浏览器选择自己识别的第一个视频格式

video元素属性如下:

属性描述
autoplayautoplay如果出现该属性,则视频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
heightpixels设置视频播放器的高度。
looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。
preloadpreload

如果出现该属性,则视频在页面加载时进行加载,并预备播放。

如果使用 "autoplay",则忽略该属性。

srcurl要播放的视频的 URL。
widthpixels设置视频播放器的宽度。

剩余这些属性读者可以自己测试看看,注意选择一个支持性好的浏览器测试哦。

 

二、HTML5下的音频

至目前为止网上大多数的音频播放器仍然是FLASH,在HTML5中可以用audio元素来代替它,audio 元素能够播放声音文件或者音频流。audio支持的音频格式如下:

 IE 8Firefox 3.5Opera 10.5Chrome 3.0Safari 3.0
Ogg Vorbis  
MP3   
Wav  

在页面中引用方式如下:


  
  
Your browser does not support the audio tag.

大家可以看到和视频的引用方式没有太大的区别,这个就不用解释了吧,audio元素的其他属性如下:

属性描述
autoplayautoplay如果出现该属性,则音频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
looploop如果出现该属性,则每当音频结束时重新开始播放。
preloadpreload

如果出现该属性,则音频在页面加载时进行加载,并预备播放。

如果使用 "autoplay",则忽略该属性。

srcurl要播放的音频的 URL。

三、HTML5下的绘制图形

在HTML5中可以使用 canvas 结合 javascript  绘制图形,示例代码如下:

这段代码本身并不能画图,需要通过以下的JS代码来画图


var c=document.getElementById("myCanvas");//获取ID为myCanvas的元素
var cxt=c.getContext("2d");//创建context对象,context对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
cxt.fillStyle="#FF0000";//设置context对象的fillStyle属性,即是背景颜色
cxt.fillRect(0,0,150,75);//调用fillRext 方法,创建矩形图像,从坐标(0,0)画至坐标(150,75)

如果需要了解过多的context对象的话去搜索下关于这个对象的其他方法吧。

 四、客户端数据存储

TML5 提供了两种在客户端存储数据的新方法:

  • localStorage - 没有时间限制的数据存储

  • sessionStorage - 针对一个 session 的数据存储

在HTML5出来之前,都是由COOKIE来做这些工作,但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。不过IE和火狐都有其他的客户端存储数据方式,IE有它的userdata 火狐有它的 globalStorage ,但是有了HTML5的这两种新的存储方式,其他一切存储方式都是浮云。

在 HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。当然了这种请求方式和userdata globalStorage都差不多的,请求要快的多。

关于localStorage方法:

localStorage 方法存储的数据没有时间限制。

测试代码如下

关于sessionStorage方法:

sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除

测试代码如下:

if (sessionStorage.pagecount)
  {
  sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
  }
else
  {
  sessionStorage.pagecount=1;
  }
alert(sessionStorage.pagecount)

我是在火狐下测试的,刷第一次的时候是1,如果不清除COOKIE的情况下再刷,第二次就是2,但是清除COOKIE之后再刷,结果会是1,难道这些存储方式还和COOKIE还有藕断丝连的关系?

 

 

 

 

 

相关内容

热门资讯

国家两部门:开展矿山机器人应用... 国家矿山安全监察局综合司 工业和信息化部办公厅关于开展矿山机器人应用验证试点工作的通知 国家矿山安全...
打造“终身学习之城”,杭州积极... 潮新闻客户端 记者 徐婷 俞刘东 通讯员 许慧敏 人工智能时代日新月异,培养适应时代生存发展的人才,...
荣耀平板20问世 内置1010... 【CNMO科技消息】5月25日晚间,CNMO科技注意到,荣耀平板20已正式发布,新品首销价1899元...
华为芯片破局!五年干到1.4n... 说起何庭波这个名字,想必各位IT之家家友是既熟悉又陌生。 熟悉在于她坐拥华为公司董事、半导体业务部总...
美加州故障化学品储罐爆炸风险排... 新华社洛杉矶5月25日电(记者高山 谭晶晶)美国加利福尼亚州奥兰治县官员25日说,当地此前发生泄漏的...
雷军:小米汽车电池安全测试项目... 来源:环球网 【环球网科技综合报道】5月25日消息,小米创办人、董事长兼 CEO 雷军发布了小米汽...
2026续航“顶级”的全能旗舰... 要说近两年手机行业感知最强的技术进步,电池肯定算一个,毕竟今年连影像旗舰和小屏机都能把电池堆到700...
在德国失联的23岁中国留学生,... 近日,有网友发帖称,一名23岁中国男留学生在德国失联数日,其家属正在紧急寻人,引发关注。据极目新闻报...
美光HBM4增产进展顺利,HB... IT之家 5 月 25 日消息,据韩媒 The Elec 今日报道,美光科技第六代高带宽内存 HBM...
AIROBO正式发布“冲刺全球... 全球机器人产业,正在经历一次比“智能手机时代”更深层的产业迁移。 过去十年,机器人行业的竞争核心始终...