一、畫布(Canvas)
畫布是網頁中的一塊區域,可所以用JavaScript在上面繪圖。下面我們來建立一個畫布並在上面繪製一個坦克(後面將用HTML5做一個坦克大戰遊戲),程式碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <h1>html5-坦克大战</h1> <!--坦克大战的战场--> <canvas id="tankMap" width="400px" height="300px" style="background-color:black"></canvas> <script type="text/javascript"> //得到画布 var canvas1 = document.getElementById("tankMap"); //定义一个位置变量 var heroX = 80; var heroY = 80; //得到绘图上下文 var cxt = canvas1.getContext("2d"); //设置颜色 cxt.fillStyle="#BA9658"; //左边的矩形 cxt.fillRect(heroX,heroY,5,30); //右边的矩形 cxt.fillRect(heroX+17,heroY,5,30); //画中间的矩形 cxt.fillRect(heroX+6,heroY+5,10,20); //画出坦克的盖子 cxt.fillStyle="#FEF26E"; cxt.arc(heroX+11,heroY+15,5,0,360,true); cxt.fill(); //画出炮筒 cxt.strokeStyle="#FEF26E"; cxt.lineWidth=1.5; cxt.beginPath(); cxt.moveTo(heroX+11,heroY+15); cxt.lineTo(heroX+11,heroY); cxt.closePath(); cxt.stroke(); </script> </body> </html>
運行效果:
二、地理位置
二、地理位置二、地理位置二、地理位置可返回網頁訪客的地理位置。執行下面程式碼進行測試:
<!DOCTYPE html> <html> <body> <p id="demo">点击这个按钮,获得您的位置:</p> <button onclick="getLocation()">试一下</button> <p id="mapholder"></p> <script src="http://maps.google.com/maps/api/js?sensor=false"></script> <script> var x=document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); } else{x.innerHTML="Geolocation is not supported by this browser.";} } function showPosition(position) { lat=position.coords.latitude; lon=position.coords.longitude; latlon=new google.maps.LatLng(lat, lon) mapholder=document.getElementById('mapholder') mapholder.style.height='250px'; mapholder.style.width='500px'; var myOptions={ center:latlon,zoom:14, mapTypeId:google.maps.MapTypeId.ROADMAP, mapTypeControl:false, navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL} }; var map=new google.maps.Map(document.getElementById("mapholder"),myOptions); var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"}); } function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML="User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML="Location information is unavailable." break; case error.TIMEOUT: x.innerHTML="The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML="An unknown error occurred." break; } } </script> </body> </html>
運行結果:
三、豐富強大的表單HTML5提供了表單增強特性,這些功能是由複雜的JavaScript編寫的,以便能在所有瀏覽器上工作.四、本地儲存HTML5本地儲存類似於cookies,但它支援儲存的資料量更大,並且提供了一個本地資料庫引擎,從而使保持和獲取資料更加容易。這個特點可以很好的將資料分發給使用者緩解與伺服器的連線壓力。另外可以使用JavaScript從本地Web頁面中存取本地資料庫,這意味著你可以將網頁儲存到你本地從公司回到家裡不用連接網路就能開啟。五、媒體
HTML5規格中最具亮點的部分也許就是HTML5瀏覽器內建的多媒體播放功能,不需要Flash、Microsoft Media Player等外掛程式。
<!DOCTYPE HTML> <html> <body> <video src="/i/movie.ogg" controls="controls"> your browser does not support the video tag </video> </body> </html>
六、語音搜素功能:
大家現在可以在好多網站上看到語音搜素功能,HTML5提供了強大的語音搜素功能屬性,只需要添加一個屬性就可以實現。
<!DOCTYPE html> <head> <meta charset="utf-8"/> </head> <body> <h1>语音搜素功能</h1> <input type="text" name="yuyin" id="yuyin" x-webkit-speech/> </body>