HTML5是什么?有哪些新特性?有哪些新增標(biāo)簽?如何讓低版本的 IE 支持 HTML5新標(biāo)簽
HTML5是HTML的第五次重大修改,設(shè)計(jì)目的是為了在移動(dòng)設(shè)備上支持更多媒體。
新特性:
- 語(yǔ)義特性
- 本地存儲(chǔ)特性(localStorage Indexed DB)
- 設(shè)備兼容特性 (Geolocation功能)
- 連接特性(實(shí)時(shí)特性,webSockets)
- 網(wǎng)頁(yè)多媒體特性(Audio Vedio Canvas SVG)
- 性能與集成特性(XMLHttpRequest2等技術(shù))
- CSS3特性
新增標(biāo)簽:<header> <article> <nav> <footer> <section> <aside> <dialog> <audio> <vedio>
讓低版本的 IE 支持 HTML5新標(biāo)簽:
- 這段代碼僅會(huì)在IE瀏覽器下運(yùn)行,還有一點(diǎn)需要注意,在頁(yè)面中調(diào)用html5.js文件必須添加在頁(yè)面的head元素內(nèi),因?yàn)镮E瀏覽器必須在元素解析前知道這個(gè)元素,所以這個(gè)js文件不能在頁(yè)面底部調(diào)用.
<!--[if IE]><script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> <![endif]-->
- 在hmtl 加入(推薦)
除了在網(wǎng)頁(yè)中調(diào)用包含以上代碼的js文件來(lái)讓IE瀏覽器支持HTML5元素以外,你也可以以下面這種方式把代碼直接添加到網(wǎng)頁(yè)中。
<!--[if lt IE 9]>
<script>
(function(){if(!/*@cc_on!@*/0)return;var e = “abbr,article,aside,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video”.split(’,'),i=e.length;while(i–){document.createElement(e[i])}})()
</script>
<![endif]-->
input有那些新增類型?
input屬性多數(shù)只針對(duì)手機(jī)端有特殊效果,并且多數(shù)有兼容問(wèn)題,在使用之前請(qǐng)?jiān)?a target="_blank" rel="nofollow">Can I Use查明兼容性
- email:輸入郵箱規(guī)范地址
- url:只針對(duì)蘋(píng)果手機(jī),輸入的鏈接要滿足鏈接的規(guī)范
- tel
- number:只能輸入能參與運(yùn)算的數(shù)字,PC端和手機(jī)端都有用
-
Date Pickers Input類型:iphone手機(jī)和PC端有效
datepickers -
其他類型
其他類型
瀏覽器本地存儲(chǔ)中 cookie 和 localStorage 有什么區(qū)別? localStorage 如何存儲(chǔ)刪除數(shù)據(jù)。
| 特性 | Cookie | localStorage |
|---|---|---|
| 數(shù)據(jù)的生命期 | 可設(shè)置失效時(shí)間,默認(rèn)是關(guān)閉瀏覽器后失效 | 除非被清除,否則永久保存 |
| 存放數(shù)據(jù)大小 | 4K左右 | 一般為5MB |
| 與服務(wù)器端通信 | 每次都會(huì)攜帶在HTTP頭中,如果使用cookie保存過(guò)多數(shù)據(jù)會(huì)帶來(lái)性能問(wèn)題 | 僅在客戶端(即瀏覽器)中保存,不參與和服務(wù)器的通信 |
| 易用性 | 需要程序員自己封裝,源生的Cookie接口不友好 | 源生接口可以接受,亦可再次封裝來(lái)對(duì)Object和Array有更好的支持 |
localStorage.setItem():接受一個(gè)鍵值對(duì)作為參數(shù),將會(huì)把鍵名添加到存儲(chǔ)中,如果鍵名以存在,則更新其對(duì)應(yīng)的值。
localStorage.removeItem():接受一個(gè)鍵名作為參數(shù),會(huì)把該鍵名從存儲(chǔ)中移除。
localStorage.clear():不接受參數(shù),只是簡(jiǎn)單地清空域名對(duì)應(yīng)的整個(gè)存儲(chǔ)對(duì)象。

