html5筆記

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的方法,屬性和事件

在所有屬性中,只有 videoWidthvideoHeight 屬性是立即可用的。在視頻的元數(shù)據(jù)已加載后,其他屬性才可用。

html音頻格式

1.Ogg Vorbis
2.mp3
3.wav

audio標(biāo)簽屬性

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 表單支持的類型

  • email
  • 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è)定
  • heightwidth 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, maxstep 輸入域的最大,最小和步長(zhǎng)
  • multiple 多選
  • pattern (regexp) 正則驗(yàn)證
  • placeholder hint提示
  • required 必填
  • novalidate 不驗(yàn)證輸入域或者表單域
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 接上 關(guān)于HTML/HTML5(一)http://www.lxweimin.com/p/33fc7840c079 學(xué)...
    Amyyy_閱讀 834評(píng)論 0 4
  • 一、HTML5語(yǔ)法 沿用了HTML的語(yǔ)法(已往過(guò)去的語(yǔ)法,是SGML語(yǔ)法的一個(gè)子集),更簡(jiǎn)潔,更人性化。 1.DO...
    Looog閱讀 617評(píng)論 0 4
  • 1,常用語(yǔ)義化標(biāo)簽 Header 頭部,定義標(biāo)題Nav 導(dǎo)航欄Section 主要內(nèi)容Aside 邊欄Footer...
    MrAlexLee閱讀 540評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評(píng)論 19 139
  • 學(xué)習(xí)HTML的最佳網(wǎng)站沒(méi)有之一http://www.w3school.com.cn/html/ 關(guān)于HTML/HT...
    Amyyy_閱讀 2,131評(píng)論 0 16