HTML5学习笔记

1.视频

<video src="test.mp4" controls="controls">

controls属性用来控制控件的显示

<!DOCTYPE html> 

<html> 

<body> 



<div style="text-align:center;">

  <button onclick="playPause()">播放/暂停</button> 

  <button onclick="makeBig()"></button>

  <button onclick="makeNormal()"></button>

  <button onclick="makeSmall()"></button>

  <br /> 

  <video id="video1" width="420" style="margin-top:15px;">

    <source src="/example/html5/mov_bbb.mp4" type="video/mp4" />

    <source src="/example/html5/mov_bbb.ogg" type="video/ogg" />

    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>

  控制视频显示大小,暂停/播放视频。

 

2.音频

<audio src="song.mp3" controls="controls">

  controls方法同上。

 

3.拖放

<!DOCTYPE HTML>

<html>

<head>

<style type="text/css">

#div1 {width:488px;height:70px;padding:10px;border:1px solid #aaaaaa;}

</style>

<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>



<p>请把 W3School 的图片拖放到矩形中:</p>



<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<br />

<img id="drag1" src="/i/w3school_banner.gif" draggable="true" ondragstart="drag(event)" />



</body>

</html>

 

4.web存储

web存储主要借助JavaScript。以下的例子是用来统计用户访问网站的次数。

<script type="text/javascript">

if (localStorage.pagecount)

  {

  localStorage.pagecount=Number(localStorage.pagecount) +1;

  }

else

  {

  localStorage.pagecount=1;

  }

document.write("Visits "+ localStorage.pagecount + " time(s).");

</script>

  当用sessionStorage代替localStorage时,只要用户关闭浏览器,数据清零。

 

5.应用程序缓存

<!DOCTYPE HTML>

<html manifest="demo.appcache">

...

</html>

  如此操作时,可供离线浏览。下次加载时,只加载更新的部分,节省服务器开销,速度更快。

 

6.web worker

<!DOCTYPE html>

<html>

<body>



<p>计数: <output id="result"></output></p>

<button onclick="startWorker()">开始 Worker</button> 

<button onclick="stopWorker()">停止 Worker</button>

<br /><br />



<script>

var w;



function startWorker()

{

if(typeof(Worker)!=="undefined")

  {

  if(typeof(w)=="undefined")

  {

  w=new Worker("/example/html5/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>

 

  web worker在后台运行,不会影响到其他脚本。web worker多用于耗费CPU多的项目。

 

7.服务器发送事件

<script>

if(typeof(EventSource)!=="undefined")

  {

  var source=new EventSource("/example/html5/demo_sse.php");

  source.onmessage=function(event)

    {

    document.getElementById("result").innerHTML+=event.data + "<br />";

    };

  }

else

  {

  document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";

  }

</script>

 

  对应的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();

?>

 

8.input 类型

<input type="email" name="user_email" />

email可以换成number,url等。

 

9.datalist是规定输入域的选项列表

<!DOCTYPE HTML>

<html>

<body>



<form action="/example/html5/demo_form.asp" method="get">

Webpage: <input type="url" list="url_list" name="link" />

<datalist id="url_list">

    <option label="W3School" value="http://www.w3school.com.cn" />

    <option label="Google" value="http://www.google.com" />

    <option label="Microsoft" value="http://www.microsoft.com" />

</datalist>

<input type="submit" />

</form>



</body>

</html>

 

你可能感兴趣的:(html5)