HTML5: 1.geolocation——定位 2.video、audio 3.localStorage cookie: 小(4K)、瀏覽器和服務器共享 localStorage: 大(5M)、瀏覽器獨享 4.*WebWorker 多進程 5.WebSQL、IndexedDB——安全隱患 *W3C刪掉了 6.文件操做、文件拖拽 √ 7.canvas——畫圖 SVG/VML 8.manifest文件 前臺控制緩存 *本地應用 9. CSS3: -------------------------------------------------------------------------------- geolocation——定位 1.原理 PC端:IP地址 精度很是差 移動:GPS 精度很高 2.PC端 IP庫 Chrome -> google.com -> ? IE -> microsoft.com -------------------------------------------------------------------------------- getCurrentPosition 獲取位置(1次) watchPosition 不斷獲取位置 clearWatch -------------------------------------------------------------------------------- localStorage:5M/域名 1.域名、跨域 2.極其方便 3.用途: 記錄用戶名 保存草稿 localStorage 永久存儲 sessionStorage 會話期間存儲——瀏覽器一關就沒 -------------------------------------------------------------------------------- WebWorker——Web多進程(沒用過) 主進程——UI進程 子進程——工做進程 WebWorker: 1.不能控制UI的東西;數據交互OK 2.子進程不能再建立子進程 3.跨域 多進程——更充分發揮計算機資源(內存×、IO×、網絡×、CPU√) 基本沒用 -------------------------------------------------------------------------------- WebSQL × IndexedDB × -------------------------------------------------------------------------------- 畫圖: canvas 位圖——放大失真 HTML5標準 SVG 矢量圖——無限縮放 不是HTML5的東西,是一個獨立標準 VML 矢量圖 IE的矢量圖 -------------------------------------------------------------------------------- canvas 1.路徑操做: 至關於選區——沒有效果,還需後續操做 閉合——必定要用closePath 2.邊線:stroke() 3.填充:fill() 線寬:lineWidth 線色:strokeStyle 填充顏色:fillStyle -------------------------------------------------------------------------------- Uncaught DOMException: Failed to execute 'postMessage' on 'Worker': HTMLDocument object could not be cloned. 多線程:共享存儲空間——多個進程之間傳引用 多進程:各自獨享存儲空間——複製一份給子線程 -------------------------------------------------------------------------------- canvas 1.圖表——echarts.js 2.遊戲 3.濾鏡 -------------------------------------------------------------------------------- 1.CSS3新樣式——動畫、3D、transform 2.canvas路徑問題、像素操做、SVG、VML、圖表庫、d3 3.移動端佈局、移動端touch 4.相關庫——iscroll、hammer 5.canvas高級應用 遊戲 WebGL --------------------------------------------------------------------------------
定位javascript
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style media="screen"> .bmap {width:600px; height:400px; border:1px solid black} </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> <script> window.onload=function (){ var oBtn=document.getElementById('btn1'); oBtn.onclick=function (){ //getCurrentPosition(成功, 失敗, 參數) navigator.geolocation.getCurrentPosition(function (res){ console.log(res.coords); alert('成功'); //建立和初始化地圖函數: function initMap(){ createMap();//建立地圖 setMapEvent();//設置地圖事件 addMapControl();//向地圖添加控件 addMapOverlay();//向地圖添加覆蓋物 } function createMap(){ map = new BMap.Map("bmap"); map.centerAndZoom(new BMap.Point(res.coords.longitude,res.coords.latitude),15); } function setMapEvent(){ map.enableScrollWheelZoom(); map.enableKeyboard(); map.enableDragging(); map.enableDoubleClickZoom() } function addClickHandler(target,window){ target.addEventListener("click",function(){ target.openInfoWindow(window); }); } function addMapOverlay(){ var markers = [ {content:"來找我啊",title:"個人位置",imageOffset: {width:0,height:3},position:{lat:res.coords.latitude,lng:res.coords.longitude}} ]; for(var index = 0; index < markers.length; index++ ){ var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat); var marker = new BMap.Marker(point,{icon:new BMap.Icon("http://api.map.baidu.com/lbsapi/createmap/images/icon.png",new BMap.Size(20,25),{ imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height) })}); var label = new BMap.Label(markers[index].title,{offset: new BMap.Size(25,5)}); var opts = { width: 200, title: markers[index].title, enableMessage: false }; var infoWindow = new BMap.InfoWindow(markers[index].content,opts); marker.setLabel(label); addClickHandler(marker,infoWindow); map.addOverlay(marker); }; } //向地圖添加控件 function addMapControl(){ var scaleControl = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); scaleControl.setUnit(BMAP_UNIT_IMPERIAL); map.addControl(scaleControl); var navControl = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(navControl); var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:true}); map.addControl(overviewControl); } var map; initMap(); }, function (err){ alert('失敗'); }); }; }; </script> </head> <body> <input type="button" value="定位" id="btn1"> <div class="bmap" id="bmap"> </div> </body> </html>
多進程 webworkerhtml
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> let oW=new Worker('1.js'); oW.onmessage=function (ev){ alert(ev.data); }; oW.postMessage({n1: 25, n2: 99}); </script> </head> <body> </body> </html>
1.js
this.onmessage=function (ev){
let {n1, n2}=ev.data;java
let result=n1+n2;git
this.postMessage(result);
};web