Web前端學習-第六課HTML篇

Q13HTML5CanvasWebWorkersStorage三者出現的意義?使用方式(使用代碼展現)?優勢?css

Canvas爲了客戶端矢量圖形而設計,本身沒有行爲,但卻把一個繪圖API展示給客戶端JavaScript以使腳本可以把想繪製的東西都繪製在一塊畫布上;html

使用:大多數canvas繪圖API都沒有定義在<canvas>元素自己上,而是定義在經過畫布的getConText()方法得到的一個繪圖環境對象上;canvas也使用了路徑的表示法,可是路徑有一系列的方法調用來定義,而不是描述爲字母和數字的字符串,好比調用beginPath()和arc()方法;一旦定義了路徑,其餘的方法如fill(),都是對此路徑操做,繪圖環境的各類屬性,好比fillstyle,說明了這些操做如何使用;前端

代碼:html5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

優勢:動態建立圖形圖像,圖形是在一個特定的上下文中建立的,而上下文對象目前有兩種:2D上下文,可移植性原始的繪圖操做:設置填充,描邊顏色和模式;繪製矩形;繪製路徑;繪製文本;建立漸變和模式;3D上下文,即WebGL(從OpenGL ES2.0移植到瀏覽器中,OpenGL ES2.0是遊戲開發人員在建立計算機圖形圖像時常用的一種語言)上下文,支持比2D上下文更豐富的更強大的圖形圖像處理能力:用GLSLOpenGL Shading Language OpenGL着色語言)編寫的頂點和片斷着色器;支持類型化數組,既可以將數組中的數據限定爲某種特定的數值類型;建立和操做紋理。(2D上下文瀏覽器基本都支持,WebGLobal目前只有Firefox 4+Chrome支持)css3

 

 

Web Workers:當在HTML頁面中執行腳本時,頁面的狀態是不可相應的,直到腳本已經完成;Web workers是運行在後臺的JavaScript,獨立於其餘腳本,不會影響頁面的性能,能夠繼續作任何願意作的事情,點擊 選取內容等等,而此時web workers在後臺進行。web

 

 

 

 

 

代碼:數據庫

 

 

 

優勢:做爲在後臺運行的JavaScript腳本 ,不會影響頁面的性能。bootstrap

 

Storage能夠在客戶端本地存儲數據,相似HTML4cookie,但可實現功能要比cookie強大得多,cookie大小被限制在4KBWeb Storage官方建議爲每一個網站5MBcanvas

Web Storage 分爲兩種:session Storagelocal storage數組

保存數據:localStorage.setItem(key,value)

讀取數據:localStorage.getItem(key)

刪除單個數據:localStorage.removeItem(key)

刪除全部數據:localStorage.clear()

獲得某個索引的keylocalStorage.key(index)

示例代碼:

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8" />

<title>Web Storage</title>

</head>

<body>

<div style = "border:2px dashed #ccc;width:320px;text-align:center">

<label for = "user_name">姓名:</label>

<input type = "text" id = "user_name" name = "user_name" class = "text" />

<br />

<label for = "mobilephone">手機:</label>

<input type = "text" id = "mobilephone" name = "mobilephone" />

<br />

<input type = "button" onclick = "save()" value = "新增記錄" />

<hr />

<label for = "search_phone">輸入手機號:</label>

<input type = "text" id = "search_phone" name = "search_phone" />

<input type = "button" onclick = "find()" value = "查找機主" />

<p id = "find_result"><br /></p>

</div>

<br />

<div id = "list">

</div>

</body>

<script>

 

//保存數據

function save(){

var mobilephone = document.getElementById("mobilephone").value;

var user_name = document.getElementById("user_name").value;

localStorage.setItem(mobilephone,user_name);

}

 

//查找機主

function find(){

var search_phone = document.getElementById("search_phone").value;

var name = localStorage.getItem(search_phone);

var find_result = document.getElementById("find_result");

find_result.innerHTML = search_phone + "的機主是:" + name;

}

 

//將全部存儲在localStorage中的對象提取出來,並展示到界面上

function loadAll(){

var list = document.getElementById("list");

if(localStorage.length > 0){

var result = "<table border = '1'>";

result += "<tr><td>姓名</td><td>手機號碼</td></tr>"

for(var i = 0;i < localStorage.length;i ++){

var mobilephone = localStorage.key(i);

var name = localStorage.getItem(mobilephone);

result += "<tr><td>" + name + "</td><td>" + mobilephone +"</td></tr>";

}

result += "</table>";

list.innerHTML = result;

}else{

list.innerHTML = "目前數據爲空,趕忙加入聯繫人吧";

}

}

</script>

</html>

Q14HTML5爲何適合作移動端?目前移動端框架有哪些?

Html5 能夠直接在網頁上調試和修改,在移動設備上支持媒體,引進新功能能夠真正改變用戶跟文檔的交互方式。(新的解析規則加強了靈活性,新屬性,淘汰過期的冗餘的屬性,一個html5文檔到另外一個文檔間的拖放功能,離線編輯,信息傳遞加強,詳細的解析規則,多用互聯網郵件擴展和協議處理程序註冊,在SQL數據庫中存儲數據的通用標準、。。。)

目前移動端框架:PhoneGap(開源開發框架,使用htmlcss,和JavaScript來構建跨平臺的移動應用程序)、

        Sencha Touch(讓Web APP看起來像Native App,美麗的用戶界面組件個豐富的數據管理所有基於最新的HTML5css3web標準全面兼容AndroidiOS設備,是開發者最經常使用的UI工具箱)、

        Media Queries(提供了一種基於不一樣的平臺寫css的技術,能很快讓網站兼容移動設備,保證產品實現最快的跨平臺的兼容性和多平臺的可用性。)、

        Zepto.js(專爲mobile webkit瀏覽器而開發的JavaScript框架開發理念是簡約,幫助開發人員簡單快速的完成開發 交付任務,超輕量級,語法借鑑且兼容jQuery)、

        bootstrapTwitter推出的開源的用於前端開發的工具包,是一個css/html框架,提供了優雅的HTMLcss規範,由動態css語言less寫成,與css框架blueprint存在不少類似之處,2.0版本添加響應式佈局,更新了一些進度攔及可定製的圖片縮略圖,增長了一些新樣式,很是輕量級的框架)、

        SeaJs(遵循CMD規範的模塊加載框架,能夠加載任意JavaScript模塊和css模塊,SeaJs很小巧,兩個核心:模塊的定義以及加載)、

        MEtro UI(自成體系,也能夠與其餘框架一塊兒用,使用less建立,擁有網絡系統,排版樣式,表格 按鈕 和 圖片也擁有內建的JavaScript組件,生成片狀,菜單,邊欄,進度條和提示)、

        Hype(能夠在網頁上作出悅目的動畫效果,無需Flash插件,是第一個可用的創做HTML5產品的可視化工具,HTML5的應用程序更加傾向於工具生成)、

IScroll(使用原生JavaScript編寫的一個模擬滾動效果的小類庫)

相關文章
相關標籤/搜索