html5
構建Web內容的一種語言描述方式
HTML5是構建Web內容的一種語言描述方式。HTML5是網際網路的下一代標準,是構建以及呈現網際網路內容的一種語言方式.被認為是網際網路的核心技術之一。HTML產生於1990年,1997年HTML4成為網際網路標準,並廣泛應用於網際網路應用的開發。
HTML5是Web中核心語言HTML的規範,用戶使用任何手段進行網頁瀏覽時看到的內容原本都是HTML格式的,在瀏覽器中通過一些技術處理將其轉換成為了可識別的信息。HTML5在從前HTML4.01的基礎上進行了一定的改進,雖然技術人員在開發過程中可能不會將這些新技術投入應用,但是對於該種技術的新特性,網站開發技術人員是必須要有所了解的。
HTML5是HyperText Markup Language 5的縮寫,HTML5技術結合了 HTMK4.01 的相關標準並革新,符合現代網路發展要求,在 2008 年正式發布。HTML5 由不同的技術構成,其在網際網路中得到了非常廣泛的應用,提供更多增強網路應用的標準機。與傳統的技術相比,HTML5 的語法特徵更加明顯,並且結合了 SVG 的內容。這些內容在網頁中使用可以更加便捷地處理多媒體內容,而且 HTML5中還結合了其他元素,對原有的功能進行調整和修改,進行標準化工作。HTML5 在 2012 年已形成了穩定的版本。
在前五年(1990-1995),HTML經歷了多次修訂並經歷了許多擴展,主要是在歐洲核子研究中心首先託管,然後是IETF。
隨著W3C的創建,HTML的發展再次改變了場地。 1995年第一次嘗試在HTML 3.0中擴展HTML,然後在1997年完成了一種稱為HTML 3.2的更實用的方法。同一年晚些時候,HTML 4.01很快就出現了。
第二年,W3C成員決定停止發展HTML,而是開始研究基於XML的等價物,稱為XHTML。這項工作始於XML中的HTML 4.01重新編寫,稱為XHTML 1.0,除了新的序列化之外沒有添加任何新功能,並且在2000年完成。在XHTML 1.0之後,W3C的重點轉向使其他工作組更容易在XHTML模塊化的旗幟下擴展XHTML。與此同時,W3C還開發了一種與早期HTML和XHTML語言不兼容的新語言,稱之為XHTML 2.0。
大約在1998年停止HTML演變的時候,瀏覽器供應商開發的HTML部分API被命名並以DOM Level 1(1998年)和DOM Level 2 Core和DOM Level 2 HTML(從2000年開始)發布。最終於2003年)。這些努力隨後逐漸消失,2004年發布了一些DOM Level 3規範,但工作組在所有3級草案完成之前就已關閉。
2003年,作為下一代Web表單定位的技術XForms的出版引發了對HTML本身發展的新興趣,而不是尋找它的替代品。這種興趣來自於認識到XML作為Web技術的部署僅限於全新技術(如RSS和後來的Atom),而不是替代現有的已部署技術(如HTML)。
一個概念證明,可以擴展HTML 4.01的表單,提供XForms 1.0引入的許多功能,而不需要瀏覽器實現與現有HTML網頁不兼容的渲染引擎,這是第一個結果。重新興趣。在早期階段,雖然草案已經公開發布,並且已經從所有來源徵求意見,但該規範僅受Opera Software的版權保護。
在2004年的W3C研討會上測試了HTML應該重新開放的想法,其中提出了HTML工作的一些原則(如下所述),以及上述早期草案提案,僅涉及與表單相關的功能,由Mozilla和Opera聯合推出的W3C。該提案被駁回,理由是該提案與之前選擇的網路發展方向相衝突; W3C的工作人員和成員投票決定繼續開發基於XML的替代品。
此後不久,Apple,Mozilla和Opera聯合宣布他們打算在一個名為WHATWG的新場地的保護下繼續努力。創建了一個公共郵件列表,草案已移至WHATWG站點。隨後將版權修改為由所有三個供應商共同擁有,並允許重複使用該規範。
WHATWG基於幾個核心原則,特別是技術需要向後兼容,規範和實現需要匹配,即使這意味著更改規範而不是實現,並且規範需要足夠詳細,實現可以實現完整的互操作性,無需相互逆向工程。后一要求特別要求HTML規範的範圍包括先前在三個單獨的文檔中指定的內容:HTML 4.01,XHTML 1.1和DOM Level 2 HTML。它還意味著包含比以前被認為是標準更多的細節。
2006年,W3C表示有興趣參與HTML 5.0的開發,並於2007年組建了一個工作組,專門與WHATWG合作開發HTML規範。 Apple,Mozilla和Opera允許W3C在W3C版權下發布規範,同時保留WHATWG網站上限制較少的許可版本。多年來,兩個小組在同一編輯下共同工作:Ian Hickson。在2011年,小組得出的結論是,他們有不同的目標:W3C希望為HTML 5.0推薦的功能劃清界限,而WHATWG希望繼續致力於HTML的生活標準,不斷維護規範和添加新功能。 2012年中期,W3C推出了一個新的編輯團隊,負責創建HTML 5.0推薦標準,並為下一個HTML版本準備工作草案。
HTML5將Web帶入一個成熟的應用平台,在這個平台上,視頻、音頻、圖像、動畫以及與設備的交互都進行了規範。
表單是實現用戶與頁面後台交互主要組成部分,HTML5在表單的設計上功能更加強大。input類型和屬性的多樣性大大地增強了HTML可表達的表單形式,再加上新增加的一。些表單標籤,使得原本需要JavaScript來實現的控制項,可以直接使用HTML5的表單來實現;一些如內容提示、焦點處理、數據驗證等功能,也可以通過THML5的智能表單屬性標籤來完成。
html5
HTML5的canvas元索可以實現畫布功能,該元索通過自帶的API結合使用JavaScript腳本語自在網頁上繪製圖形和處理,擁有實現繪製線條、弧線以及矩形,用樣式和顏色填充區域,書寫樣式化文本,以及添加圖像的方法,且使用JavaScript可以控制其每一個像素。HTML5的canvas元索使得瀏覽器無需Flash或Silverlight等插件就能直接顯示圖形或動畫圖像。
HTML5最大特色之一就是支持音頻視頻,在通過增加了
現今移動網路備受青睞,用戶對實時定位的應用越來,要求也越來越高。HTML5通過引人Geolocation的API可以通過GPS或網路信息實現用戶的定位功能,定位更加準確、靈活。通過HTML5進行地位,除了可以定位自己的位置,還可以在他人對你開放信息的情況下獲得他人的定位信息。
HTML5較之傳統的數據存儲有自已的存儲方式,允許在客戶端實現較大規模的數據存儲。為了滿足不同的需求,HTML5支持DOM Storage和Web SQL Database 兩種存儲機制。其中,DOM Storage 適用於具有key/value對的基本本地存儲;面WebSQLDatabase是適用於關係型資料庫的存儲方式,開發者可以使用SQL語法對這些數據進行查詢、插入等操作。
HTML 5利用Web Worker將Web應用程序從原來的單線程業界中解放出來,通過創建一個Web Worker對象就可以實現多線程操作。JavaScript創建的Web程序處理事務都是在單線程中執行,響應時間較長,而當JavaScript過於複雜時,還有可能出現死鎖的局面。HTML5新增加了一個WebWorkerAPI,用戶可以創建多個在後台的線程,將耗費較長時間的處理交給後檯面不影響用戶界面和響應速度,這些處理不會因用戶交互而運行中斷。使用後台線程不能訪問頁面和窗口對象,但後台線程可以和貞面之間進行數據交互。子線程與子線程之間的數據交互,大致步驟如下:①先創建發送數據的子線程;②執行子線程任務,把要傳遞的數據發送給主線程;③在主線程接受到子線程傳遞迴的消息時創建接收數據的子線程,然後把發送數據的子線程中返回的消息傳遞給接收數據的子線程;④執行接收數據子線程中的代碼。
自1999年以後HTML 4.01 已經改變了很多,今天,在HTML 4.01中的幾個已經被廢棄,這些元素在HTML5中已經被刪除或重新定義。
為了更好地處理今天的網際網路應用,HTML5添加了很多新元素及功能,比如:圖形的繪製,多媒體內容,更好的頁面結構,更好的形式 處理,和幾個api拖放元素,定位,包括網頁 應用程序緩存,存儲,網路工作者,等。
標籤 | 描述 |
---|---|
標籤定義圖形,比如圖表和其他圖像。該標籤基於 JavaScript 的繪圖 API |
標籤 | 描述 |
---|---|
定義音頻內容 | |
定義視頻(video 或者 movie) | |
定義多媒體資源 | |
定義嵌入的內容,比如插件。 | |
為諸如 |
標籤 | 描述 |
---|---|
定義選項列表。請與 input 元素配合使用該元素,來定義 input 可能的值。 | |
規定用於表單的密鑰對生成器欄位。 | |
定義不同類型的輸出,比如腳本的輸出。 |
HTML5提供了新的元素來創建更好的頁面結構:
標籤 | 描述 |
---|---|
定義頁面獨立的內容區域。 | |
定義頁面的側邊欄內容。 | |
允許您設置一段文本,使其脫離其父元素的文本方向設置。 | |
定義命令按鈕,比如單選按鈕、複選框或按鈕 | |
用於描述文檔或文檔某個部分的細節 | |
定義對話框,比如提示框 | |
標籤包含 details 元素的標題 | |
規定獨立的流內容(圖像、圖表、照片、代碼等等)。 | |
定義 | |
定義 section 或 document 的頁腳。 | |
定義了文檔的頭部區域 | |
定義帶有記號的文本。 | |
定義度量衡。僅用於已知最大和最小值的度量。 | |
定義運行中的進度(進程)。 | |
定義任何類型的任務的進度。 | |
<ruby> | 定義 ruby 註釋(中文注音或字元)。 |
定義字元(中文注音或字元)的解釋或發音。 | |
在 ruby 註釋中使用,定義不支持 ruby 元素的瀏覽器所顯示的內容。 | |
定義文檔中的節(section、區段)。 | |
定義日期或時間。 | |
規定在文本中的何處適合添加換行符。 |
以下的 HTML 4.01 元素在HTML5中已經被刪除:
●
●
●
●
●
●
●
●
●
●
●
新一代網路標準能夠讓程序通過Web瀏覽器,消費者從而能夠從包括個人電腦、筆記本電腦、智能手機或平板電腦在內的任意終端訪問相同的程序和基於雲端的信息。HTML5允許程序通過Web瀏覽器運行,並且將視頻等目前需要插件和其它平台才能使用的多媒體內容也納入其中,這將使瀏覽器成為一種通用的平台,用戶通過瀏覽器就能完成任務。此外,消費者還可以訪問以遠程方式存儲在“雲”中的各種內容,不受位置和設備的限制。
(1)開放性帶來的困擾
在從前網路平台上存在大量的專利產品,想要實現HTML5技術的大量應用首先就需要將這些專利性的產品變為開放式的產品,由於各種原因,當前面對這一問題還存在許多爭議。以視頻格式為例,兩大陣營對於視頻格式的設置存在爭議,一大陣營以蘋果為代表,另一大陣營則以Opera、火狐、谷歌為代表。WPEG陣營是蘋果所屬陣營,由於其自身全部使用的是這一種格式,所以堅持認為應當將此格式作為標準,而WebM陣營則認為由於WPEG格式的專利依然沒有解除,對於HTML5技術要求的開放性沒有達標,所以不同意將其作為標準格式。
(2)發展的速度有待提升
在HTML5中提出了一些從前HTML技術中不具有的新技術,但是有許多主流瀏覽器在長時間的發展過程中已經完成了此種技術的開發,在自身瀏覽器中實現了此種功能,就這一情況來說HTML5的發展速度方面存在一定的問題。同時由於HTML5的不成熟,當前關於HTML5的相關技術標準還沒有完全確定,所以在短時間想要將其投入大規模應用還比較困難。
(3)技術手段的不完善
由於HTML5技術中存在較為先進的本地存儲技術,所以其能做到降低應用程序的相應時問為用戶帶來更便捷的體驗。
以下將對HTML5的技術要點進行介紹:
定義和用法:
標籤定義視頻,比如電影片段或其他視頻流。
定義和用法
標籤定義聲音,比如音樂或其他音頻流。
實例:
一段簡單的HTML5 音頻
您的瀏覽器不支持 audio 標籤。
定義和用法:
HTML5 的 canvas 元素使用JavaScript 在網頁上繪製圖像。
畫布是一個矩形區域,您可以控制其每一像素。
canvas 擁有多種繪製路徑、矩形、圓形、字元以及添加圖像的方法。
實例:
通過 canvas 元素來顯示一個紅色的矩形:
var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
除了原先的DOM介面,HTML5增加了更多API,如:
1. 用於即時2D繪圖的Canvas標籤
2. 定時媒體回放
3. 離線資料庫存儲
4.文檔編輯
5. 拖拽控制
6. 瀏覽歷史管理
新的解析順序新的元素:section, video, progress, nav, meter, time, aside, canvasinput
元素的新屬性:日期和時間,email, url。
新的通用屬性:ping, charset, async
全域屬性:id, tabindex, repeat。
移除元素:center, font, strike。
註:在下面表格中4:指在HTML 4.01 中定義了該元素 5:指在HTML 5 中定義了該元素
按字母順序排列的標籤列表 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
標籤 | 描述 | 4:指在HTML 4.01 中定義了該元素 5:指在HTML 5 中定義了該元素 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTML 5標籤擁有屬性。在每個標籤的參考頁中可以找到相應的特殊屬性。這裡列出的屬性是通用於每個標籤的核心屬性和語言屬性(有個別例外)。 HTML 5標籤中的新屬性有:contenteditable, contextmenu, draggable, irrelevant, ref,registrationmark, template HTML 5 中不再支持的屬性:accesskey HTML 5 元素可擁有事件屬性,這些屬性在瀏覽器中觸發行為,比如當用戶單擊一個HTML 5元素時啟動一段 JavaScript。下面列出的事件屬性,可以把它們插入 HTML 標籤來定義事件行為。 HTML 5 中的新事件屬性:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。 HTML 5不再支持的 HTML 4.01 屬性:onreset。 HTML 5(text/html)瀏覽器將在錯誤語法的處理上更加靈活。HTML 5在設計時保證舊的瀏覽器能夠安全的忽略掉新的HTML 5代碼。與HTML 4.01相比,HTML 5給出了解析的詳細規則,力圖讓不同的瀏覽器即使在發生語法錯誤時也能返回相同的結果。 隨著計算機技術不斷發展,可以看到HTML5在未來的幾年內的發展將會是一個井噴式的增長。HTML5技術在未來幾年內發展將會以以下幾個形式表現: 1)HTML5技術的移動端方向。HTML5技術在未來主要發展的市場還是在移動端網際網路領域,現階段移動瀏覽器有應用體驗不佳、網頁標準不統一的劣勢,這兩個方面是移動端網頁發展的障礙,而HTML5技術能夠解決這兩個問題,並且將劣勢轉化為優勢,整體推動整個移動端網頁方面的發展; 2)Web內核標準提升。目前移動端網頁內核大多採用Web內核,相信在未來幾年內隨著智能端逐漸普及,HTML5在Web內核方面應用將會得到極大的凸顯; 3)提升Web操作體驗。隨著硬體能力的提升、WebGL標準化的普及以及手機頁游的逐漸成熟,手機頁游向3D化發展是大勢所趨; 4)網路營銷遊戲化發展。通過一些遊戲化、場景化以及跨屏互動等環節,不僅增加用戶遊戲體驗,還能夠滿足廣告主大部分的營銷需求,在推銷產品的過程中,讓用戶體驗遊戲的樂趣; 5)移動視頻、在線直播。HTML5將會改變視頻數據的傳輸方式,讓視頻播放更加流暢,與此同時,視頻還能夠與網頁相結合,讓用戶看視頻如看圖片一樣輕鬆。 目錄 |