H5新特性分享
4 人贊了文章最近面試過程中總被問及H5玩的怎麼樣,對它的新特性了解多少?用過哪些?本人菜鳥一枚(騎驢奔跑的挨踢路上的大水牛)。雖然H5早在去年就已經有完備的規範版本出來,但是因為變革性的更新,目前大部分主流瀏覽器本沒有完全支持或完善,在中端領域的使用也尚未完全普及;個人對H5的研究也並沒有升入透徹,因此面對這個問題時期初還是一臉懵逼。。。。收集相關資料以便分享討論:
究竟H5有哪些方面的變動?
相比於以往的版本,h5有個革命性的變動,h5已經不再注重於web內容,而是拓展至一個平台,新增了極其豐富的新標籤、強大便捷的API(特別是移動互聯網元素)、以及HTML聲明與標籤簡化;在兼容性方面也比以往提升非常大。
新增的標籤?
- 語義結構類
- 智能化的表單
<input type=email … 限制用戶輸入email格式
<input type=url … 限制用戶輸入網址格式 <input type=date … 限制用戶輸入日期格式 <input type=time … 限制用戶輸入時間格式<input type=month … 限制用戶輸入月份格式
<input type=week … 限制用戶輸入周格式 <input type=number … 限制用戶輸入數字格式 <input type=range … 一個滑動條效果 <input type=search … 搜索格式 results="n"<input type=color … 選擇顏色格式
這些智能化的標籤可以省略極其繁雜的正則驗證、渲染格式;而已可以行內定義pattern表達式、required必填項、autofocus自動聚焦
新增API
- 一等公民多媒體
h5新晉一等公民audio、video多媒體的推出,也加快了flash退出瀏覽器舞台的步伐。
<video src="movie.mp4" controls="controls"> </video>
<audio src=「aud.mp3」 autoplay=「true」 controls=「true」></audio>
- 本地存儲
- 定位(只能用於移動端)
navigator.geolocation.getCurrentPosition( function(p) { var map="維度"+p.coords.latitude+"經度"+p.coords.longitude; alert(var); });
- 變革性的web socket
- history對象
history並不是h5新增的對象,h5是在原有的基礎上給它加了兩個新方(原有go() back() forward())---history.pushState(data,title[null,url])和history.replaceState(data,title[null,url])
【data:一個表示狀態的對象,json格式數據title:一個string格式的標題(大多數瀏覽器不支持或忽略這個參數,最好用null代替)url:一個url(用於替換當前URL)】
- 2D繪圖canvas
以上是個人的收集和分享,第一次寫博文,純手打,很多不足,望多指正,一起討論··!
推薦閱讀:
※css vertical-align你真的很了解嘛?
※Retina真實還原1px邊框的解決方案
※《Oli的前端一萬小時》之:(12)讓「盒子」動起來——② 「定位」和 BFC
※不定寬高div垂直水平居中問題
TAG:前端入門 |