html5笔记

html视频格式

Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件

ie9只提供了对MPEG4的video标签的支持

video标签属性
1.autoplay 自动播放
2.controls 控制条(播放,暂停)
3.height
4.width
5.src 视频路径
6.loop 循环播放
6.preload 预加载

video的方法,属性和事件

在所有属性中,只有 videoWidthvideoHeight 属性是立即可用的。在视频的元数据已加载后,其他属性才可用。

html音频格式

1.Ogg Vorbis
2.mp3
3.wav

audio标签属性

Internet Explorer 8 不支持 audio 元素。在 IE 9 中,将提供对 audio 元素的支持

html拖放

支持情况:Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。

增加拖放的步骤
1.<img draggable="true" /> 标签增加拖放的draggable属性,并且设置为True
2.拖动什么 ondragstart 设定需要拖动数据的类型 event.dataTransfer.setData("Text",event.target.id);
3.放到何处 ondragover 需要阻止元素的默认的事件event.preventDefault()
4.进行放置 ondrop

ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));

例子:

<!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" ondrop="drop(event)"
ondragover="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true"
ondragstart="drag(event)" width="336" height="69" />

</body>
</html>

html画布

canvas标签
canvas定义了一片js绘图的区域,提供了一系列的绘图的函数和方法

html svg

svg是xml定义的的绘制矢量图
svg具体的教程

html地理定位

地理定位 navigator.geolocation.getCurrentPosition(showPosition)
错误消息

  • Permission denied - 用户不允许地理定位
  • Position unavailable - 无法获取当前位置
  • Timeout - 操作超时

Web 存储

  • localStorage - 没有时间限制的数据存储
  • sessionStorage - 针对一个 session 的数据存储
<script type="text/javascript">
localStorage.lastname="Smith";
document.write(localStorage.lastname);
</script>

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

Application Cache

manifest="demo.appcache"
  • 0CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
  • NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
  • FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)

更新缓存:

  • 用户清空浏览器缓存
  • manifest 文件被修改(参阅下面的提示)
  • 由程序来更新应用缓存

完整manifest文件

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js

NETWORK:
login.asp

FALLBACK:
/html5/ /404.html

Web Workers

<!DOCTYPE html>
<html>
<body>

<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>
<br /><br />

<script>
var w;

function startWorker()
{
if(typeof(Worker)!=="undefined")
{
  if(typeof(w)=="undefined")
    {
    w=new Worker("demo_workers.js");
    }
  w.onmessage = function (event) {
    document.getElementById("result").innerHTML=event.data;
  };
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser
 does not support Web Workers...";
}
}

function stopWorker()
{
w.terminate();
}
</script>

</body>
</html>

webworker在js中,所以无法访问

  • window 对象
  • document 对象
  • parent 对象

Server-Sent

Server-Sent 事件指的是网页自动获取来自服务器的更新。

webcode:

var source=new EventSource("demo_sse.php");
source.onmessage=function(event)
  {
  document.getElementById("result").innerHTML+=event.data + "<br />";
  };

php:

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

EventSource 有下面三个事件:
1.onopen 当通往服务器的连接被打开
2.onmessage 当接收到消息
3.onerror 当出现错误

html5 表单支持的类型

  • email
  • url
  • number
  • range
  • Date pickers (date, month, week, time, datetime, datetime-local)
  • search
  • color

html5 新表单类型

链接
但支持度低

  • datalist
  • keygen
  • output

html5新属性

  • autocomplete 自动完成
  • autofocus 自动获得焦点
  • form 规定输入域属于一个或者多个表单
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget) 重写 form 元素的某些属性设定
  • heightwidth input标签的高度和宽度
  • list
    限定输入域的列表
<input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://www.w3school.com.cn" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://www.microsoft.com" />
</datalist>
  • min, maxstep 输入域的最大,最小和步长
  • multiple 多选
  • pattern (regexp) 正则验证
  • placeholder hint提示
  • required 必填
  • novalidate 不验证输入域或者表单域
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 接上 关于HTML/HTML5(一)http://www.jianshu.com/p/33fc7840c079 学...
    Amyyy_阅读 4,241评论 0 4
  • 一、HTML5语法 沿用了HTML的语法(已往过去的语法,是SGML语法的一个子集),更简洁,更人性化。 1.DO...
    Looog阅读 3,746评论 0 4
  • 1,常用语义化标签 Header 头部,定义标题Nav 导航栏Section 主要内容Aside 边栏Footer...
    MrAlexLee阅读 3,517评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 学习HTML的最佳网站没有之一http://www.w3school.com.cn/html/ 关于HTML/HT...
    Amyyy_阅读 6,602评论 0 16