html視頻格式
Ogg = 帶有 Theora 視頻編碼和 Vorbis 音頻編碼的 Ogg 文件
MPEG4 = 帶有 H.264 視頻編碼和 AAC 音頻編碼的 MPEG 4 文件
WebM = 帶有 VP8 視頻編碼和 Vorbis 音頻編碼的 WebM 文件
ie9只提供了對(duì)MPEG4的video標(biāo)簽的支持
video標(biāo)簽屬性
1.autoplay
自動(dòng)播放
2.controls
控制條(播放,暫停)
3.height
高
4.width
寬
5.src
視頻路徑
6.loop
循環(huán)播放
6.preload
預(yù)加載
video的方法,屬性和事件
在所有屬性中,只有 videoWidth
和 videoHeight
屬性是立即可用的。在視頻的元數(shù)據(jù)已加載后,其他屬性才可用。
html音頻格式
1.Ogg Vorbis
2.mp3
3.wav
Internet Explorer 8 不支持 audio 元素。在 IE 9 中,將提供對(duì) audio 元素的支持
html拖放
支持情況:Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。
增加拖放的步驟
1.<img draggable="true" />
標(biāo)簽增加拖放的draggable
屬性,并且設(shè)置為True
2.拖動(dòng)什么 ondragstart
設(shè)定需要拖動(dòng)數(shù)據(jù)的類型 event.dataTransfer.setData("Text",event.target.id);
3.放到何處 ondragover
需要阻止元素的默認(rèn)的事件event.preventDefault()
4.進(jìn)行放置 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畫(huà)布
canvas標(biāo)簽
canvas定義了一片js繪圖的區(qū)域,提供了一系列的繪圖的函數(shù)和方法
html svg
svg是xml定義的的繪制矢量圖
svg具體的教程
html地理定位
地理定位 navigator.geolocation.getCurrentPosition(showPosition)
錯(cuò)誤消息
- Permission denied - 用戶不允許地理定位
- Position unavailable - 無(wú)法獲取當(dāng)前位置
- Timeout - 操作超時(shí)
Web 存儲(chǔ)
- localStorage - 沒(méi)有時(shí)間限制的數(shù)據(jù)存儲(chǔ)
- sessionStorage - 針對(duì)一個(gè) session 的數(shù)據(jù)存儲(chǔ)
<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 - 在此標(biāo)題下列出的文件將在首次下載后進(jìn)行緩存
- NETWORK - 在此標(biāo)題下列出的文件需要與服務(wù)器的連接,且不會(huì)被緩存
- FALLBACK - 在此標(biāo)題下列出的文件規(guī)定當(dāng)頁(yè)面無(wú)法訪問(wèn)時(shí)的回退頁(yè)面(比如 404 頁(yè)面)
更新緩存:
- 用戶清空瀏覽器緩存
- manifest 文件被修改(參閱下面的提示)
- 由程序來(lái)更新應(yīng)用緩存
完整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中,所以無(wú)法訪問(wèn)
- window 對(duì)象
- document 對(duì)象
- parent 對(duì)象
Server-Sent
Server-Sent 事件指的是網(wǎng)頁(yè)自動(dòng)獲取來(lái)自服務(wù)器的更新。
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 有下面三個(gè)事件:
1.onopen
當(dāng)通往服務(wù)器的連接被打開(kāi)
2.onmessage
當(dāng)接收到消息
3.onerror
當(dāng)出現(xiàn)錯(cuò)誤
html5 表單支持的類型
- url
- number
- range
- Date pickers (date, month, week, time, datetime, datetime-local)
- search
- color
html5 新表單類型
鏈接
但支持度低
- datalist
- keygen
- output
html5新屬性
-
autocomplete
自動(dòng)完成 -
autofocus
自動(dòng)獲得焦點(diǎn) - form 規(guī)定輸入域?qū)儆谝粋€(gè)或者多個(gè)表單
- form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget) 重寫 form 元素的某些屬性設(shè)定
-
height
和width
input標(biāo)簽的高度和寬度 - 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
,max
和step
輸入域的最大,最小和步長(zhǎng) -
multiple
多選 -
pattern
(regexp) 正則驗(yàn)證 -
placeholder
hint提示 -
required
必填 - novalidate 不驗(yàn)證輸入域或者表單域