HTML5学习笔记(一)

1.什么是HTML5?

HTML5将成为HTML、XHTML以及HTML DOM的新标准。


2.HTML5视频

视频格式

当前HTML5支持三种视频格式:

格式 IE Firefox Opera Chrome Safari
Ogg No 3.5+ 10.5+ 5.0+ No
MPEG 4 9.0+ No No 5.0+ 3.0+
WebM No 4.0+ 10.6+ 6.0+ No

Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件

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

WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件


control属性供添加播放、暂停和音量控制。

<video>与</video>之间插入的内容是供不支持video元素的浏览器显示的:

video元素允许多个source元素。source元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式:

<video width="320" height="240" controls="controls">
<source src="movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
Your browser does not supprote the video tag.
</video>

<video> 标签的属性

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

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

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

src url 要播放的视频的 URL。
width pixels 设置视频播放器的宽度。


3.HTML5 video+dom

HTML5<vidoe> ——使用DOM进行控制

HTML5<video>元素同样拥有办法、属性和事件。

其中的方法用于播放、暂停以及加载等。其中的属性(比如时长、音量等)可以被读取或设置。其中的DOM事件能够通知。

下面列出了大多数浏览器支持的视频方法、属性和事件:

方法 属性 事件
play() currentSrc play
pause() currentTime pause
load() videoWidth progress
canPlayType videoHeight error
  duration timeupdate
  ended ended
  error abort
  paused empty
  muted emptied
  seeking waiting
  volume loadedmetadata
  height  
  width  


4. HTML5 拖放

拖放(Drag和Drop)是HTML5标准的组成部分

拖放是一种常见的特性,即抓取对象以后拖到另一个位置。

在HTML5中,托放是标准的一部分,任何元素都能够拖放。


拖放的例子:

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>

<div id="div1" οndrοp="drop(event)"
οndragοver="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true"
οndragstart="drag(event)" width="336" height="69" />

</body>
</html>

为了使元素可以拖动,把draggable属性设置为true:

<img draggable="true" />


拖动对象——ondragstart()和setData()

规定当元素被拖动时,会发生什么?

在上面的例子中,ondragstart属性调用一个函数,drag(event),它规定了被拖动的数据。

dataTransfer.setData()方法设置被拖数据的数据类型和值:

function drag(ev)
{
     ev.dataTransfer.setData("Text",ev.target.id);
}

放在何处——ondragover

ondragover事件规定在何处放置被拖动的数据。

默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。

这要通过调用ondragover事件的event.preventDefault()方法:

event.preventDefault()


进行放置——ondrop

当放置被拖数据时,会发生drop事件。

在上面的例子中,ondrop属性调用了一个函数,drop(event):

function drop(ev)
{
    ev.preventDefault();  /*调用此函数来避免浏览器对数据的默认处理(drop事件的默认新闻是以链接形式打开)
    var  data=ev.dataTransfer.getData("Text");  /*调用此函数获得被拖的数据。
    ev.target.appendChild(document.getElementById(data));
}

5.HTML画布

canvas元素用于在网页上绘制图形。

什么是canvas?

HTML5的canvas元素使用Javascript在网页上绘制图像。

画布是一个矩形区域,可以控制其每一像素。

canvas拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。


创建Canvas元素

向HTML5页面添加canvas元素。

规定元素的id、宽度和高度:

<canvas id="myCanvas" width="200" height="100"></canvas>

6.HTML5 内联SVG

什么是SVG?

SVG指可伸缩矢量图形(Scalable Vector Graphics)

SVG用于定义网路的基于矢量的图形;

SVG使用XML格式定义图形;

SVG图像在放大或改变尺寸的情况下其图形质量不会有损失;

SVG是万维网联盟的标注;


SVG的优势:

与其他图像格式相比,使用SVG的优势在于:

SVG图像可通过文本编辑器来创建或修改;

SVG图像可被搜索、索引、校本化或压缩;

SVG是可伸缩的;

SVG图像可在任何的分辨率下被高质量地打印;

SVG可在图像质量部下降的情况下被放大;


7.HTML5 Canvas VS. SVG

Canvas和SVG都允许在浏览器中创建图形,但是它们在根本上是不同的。

SVG是一种使用XML描述2D图形的语言,这意味着SVG DOM中的每个元素都是可用的。可以为某个元素附加JavaScript事件处理器。

在SVG中,每个被绘制的图形均被视为对象。如果SVG对象的属性发生变化,那么浏览器能够自动重现图形。


Canvas通过javascript来绘制2D图形。Canvas是逐像素进行渲染的。在canvas中,一旦图像被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

依赖分辨率;不支持事件处理器;弱的文本渲染能力;能够以.png或.jpg格式保存结果图形;

SVG 不依赖分辨率;支持事件处理器;最适合带有大型渲染区域的应用程序;复杂度高慧减慢渲染速度;不适合游戏应用;


8.HTML5 Web存储

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

localStorage——没有事件限制的数据存储;

sessionStorage——针对一个session的数据存储;

之前,这些都是由cookie完成的,但是cookie不适合大量数据的存储,因为他们由每个服务器的请求来传递,这使得cookie速度很慢而且效率不高。

在HTML5中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

对于不同的网站,数据存储于不同的区域,并且一个网站只能访问其自身的数据。

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

<script type="text/javascript">
localStorage.lastname="Smith";
document.write(localStorage.lastname);
</script>

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

<script type="text/javascript">
sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname);
</script>

9.HTML5应用程序缓存

使用HTML5,通过创建cache manifest文件,可以轻松地创建web应用的离线版本。

什么是应用程序缓存(Application Cache)?

HTML5引入了应用程序缓存,这意味着web应用可进行缓存,并在没有网络连接时进行访问;

应用程序缓存为应用带来三个优势:

离线浏览——用户可在应用离线时使用它们;

速度——已缓存资源加载得更快;

减少服务器负载——浏览器将只从服务器下载更新过火更改过的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值