走过HTML4,走向HTML5
作者:张小飞 iteye账号:z_xiaofei168
- 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
- 减少对外部插件的需求(比如 Flash)
- 更优秀的错误处理
- 更多取代脚本的标记
- HTML5 应该独立于设备
- 开发进程应对公众透明
新特性
HTML5 中的一些有趣的新特性:
- 用于绘画的 canvas 元素
- 用于媒介回放的 video 和 audio 元素
- 对本地离线存储的更好的支持
- 新的特殊内容元素,比如 article、footer、header、nav、section
- 新的表单控件,比如 calendar、date、time、email、url、search
浏览器支持
最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。
一、HTML 5 视频
今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。HTML5 规定了一种通过 video 元素来包含视频的标准方法。
视频格式
当前,video 元素支持三种视频格式:Ogg MPEG 4 WebM
Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件
<!DOCTYPE html> <html> <head> <title>tag_vidio视频案例测试</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <div style="text-align:center;"> <button onclick="playPause()">播放/暂停</button> <button onclick="makeBig()">大</button> <button onclick="makeNormal()">中</button> <button onclick="makeSmall()">小</button> <br /> <!-- control 属性供添加播放、暂停和音量控件。 --> <video id="video1" width="420" style="margin-top:15px;"> <source src="html5/mov_bbb.ogg" type="video/ogg" /> <!-- <video> 与 </video> 之间插入的内容是供不支持 video 元素的浏览器显示的 --> Your browser does not support HTML5 video. </video> </div> <script type="text/javascript"> var myVideo=document.getElementById("video1"); function playPause() { if (myVideo.paused) myVideo.play(); else myVideo.pause(); } function makeBig() { myVideo.width=560; } function makeSmall() { myVideo.width=320; } function makeNormal() { myVideo.width=420; } </script> </body> </html>
二、HTML 5 音频
今天,大多数音频是通过插件(比如 Flash)来播放的。然而,并非所有浏览器都拥有同样的插件。HTML5 规定了一种通过 audio 元素来包含音频的标准方法。audio 元素能够播放声音文件或者音频流。
<!DOCTYPE html> <html> <head> <title>tag_audio音频案例测试</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <audio controls="controls"> <source src="html5/mov_bbb.ogg" type="audio/ogg"> <source src="song.mp3" type="audio/mpeg"> Your browser does not support the audio tag. </audio> </body> </html>
三、HTML 5 拖放
拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。
<!DOCTYPE html> <html> <head> <title>tag_draganddrop拖放案例测试</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style type="text/css"> #div1,#div2 {float:left;width:250px;height:300px;margin:10px;padding:10px;border:1px solid #aaaaaa;} </style> <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } // 规定了被拖动的数据 function drag(ev) { // dataTransfer.setData() 方法设置被拖数据的数据[类型]和[值] // 被拖数据是被拖元素的 id ("drag1") ev.dataTransfer.setData("myIteyeImg",ev.target.id); } function drop(ev) { // 默认地,无法将数据/元素放置到其他元素中。如果需要设置允许放置,我们必须阻止对元素的默认处理方式。 // 这要通过调用 ondragover 事件的 event.preventDefault() 方法 ev.preventDefault(); var data=ev.dataTransfer.getData("myIteyeImg"); // 把被拖元素追加到放置元素(目标元素)中 ev.target.appendChild(document.getElementById(data)); } </script> </head> <body> <p>请把我本人的iteye的图片拖放到矩形中:</p> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br /> <!-- 为了使元素可拖动,把 draggable 属性设置为 true --> <!-- 拖动什么 - ondragstart --> <img id="drag1" src="img/z_xiaofei168.jpg" draggable="true" ondragstart="drag(event)" /> </body> </html>
四、HTML 5 画布
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
<!DOCTYPE html> <html> <head> <title>tag_Canvas画布案例测试</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;" onmousemove="cnvs_getCoordinates(event)" onmouseout="cnvs_clearCoordinates()"> Your browser does not support the canvas element. </canvas> <div id="xycoordinates"></div> </body> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); var img=new Image(); img.src="img/flower.jpg" cxt.drawImage(img,0,0); function cnvs_getCoordinates(e) { x=e.clientX; y=e.clientY; document.getElementById("xycoordinates").innerHTML="鼠标箭头所处坐标: (" + x + "," + y + ")"; } function cnvs_clearCoordinates() { document.getElementById("xycoordinates").innerHTML=""; } </script> </html>
五、HTML 5 地理定位
HTML5 Geolocation API 用于获得用户的地理位置。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。请使用 getCurrentPosition() 方法来获得用户的位置。
<!DOCTYPE html> <html> <head> <title>HTML5地理位置案例测试</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <p id="demo">点击这个按钮,获得您的坐标:</p> <button onclick="getLocation()">试一下</button> </body> <script type="text/javascript"> var x = document.getElementById("demo"); function getLocation(){ if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition,showError); } } function showPosition(position){ x.innerHTML = '纬度:' + position.coords.latitude + "<br />经度: " + position.coords.longitude; } function showError(error){ switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="用户拒绝请求地理定位." break; case error.POSITION_UNAVAILABLE: x.innerHTML="位置信息是不可用." break; case error.TIMEOUT: x.innerHTML="请求获取用户位置超时." break; case error.UNKNOWN_ERROR: x.innerHTML="一个未知的错误发生." break; } } </script> </html>
相关推荐
用html编写的个人主页 我们一起走过的流金岁月 记录和朋友的联系 简洁的风格 清新自然
走向更好的安全治理:从走过的道路中学习(英).pdf
而随着互联网的发展,HTML标准也在不断变化,HTML标准已经走过第4代了,因为它能够用简单的标签元素,代替属性能实现之前需要用很多复杂JavaScript代码才能有实现的功能,HTML5越来越受到欢迎。 HTML5带来很多令人...
《每当我走过老师的窗前》课件.ppt
会创意小品剧本-一起走过的日子.doc
我们一起走过中考作文范例5篇.pdf
小家电行业深度报告:走过成长的烦恼.pdf
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。...【项目质量】:所有源码都经过严格测试,可以直接...
2021我们一起走过初二语文作文范例5篇.pdf
中考语文满分作文走过
初三我们一起走过记叙文作文范例5篇.pdf
我们一起走过八年级满分作文范例5篇.pdf
《我们一起走过》第五集观后感3篇参考.doc
PCB走线宽度和走过的电流对照表,走线宽度与电流对应设计
知名体育网站倒计时代码(HTML CODE),直接COPY RUN,走过路过别错过。
AM01-李学庆-【六年辛酸泪】一起走过的电商安全坑 高级威胁分析
这是一套怀旧感的,《那些年我们一起走过的岁月》同学纪念册PPT模板,共23张; 幻灯片模板封面使用了带有沧桑岁月感的,泛黄照片作为背景图片。照片上是学生时代的书籍以及同学背影。 PowerPoint模板内容页,多数...
从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展。但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意。下面,向大家介绍这些应该遵循的开发原则。 1、善用DIV来布局 2、...
《我们一起走过》第五集观后感3篇精选.doc
高考语文 最容易考的散文 初夏,我从知青屋前走过素材.doc