題目1: 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 Video Canvas SVG)
- 性能與集成特性(XMLHttpRequest2 等技術(shù))
- CSS特性
新增標(biāo)簽
header nav footer article section aside dialog audio video
低版本的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)用。
方法二: 在html加入(推薦)
除了在網(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]-->
題目2: input 有哪些新增類型苍日?
<form action="#">
<input type="email"> //輸入email必須有@符號(hào)
<input type="number">//只能輸入數(shù)字
<input type="url">//必須有協(xié)議
<input type="range">//范圍
<input type="date">//日期,包括年窗声、月相恃、日
<input type="month">//包括月、日
<input type="week">//哪一年嫌佑,第幾周
<input type="time">//包括時(shí)豆茫、分、秒
<input type="datetime">//基于 UTC 時(shí)區(qū)的日期時(shí)間輸入控件(時(shí)屋摇,分揩魂,秒及幾分之一秒)。
</form>
題目3: 瀏覽器本地存儲(chǔ)中 cookie 和 localStorage 有什么區(qū)別炮温? localStorage 如何存儲(chǔ)刪除數(shù)據(jù)火脉。
localStorage帶來(lái)的好處:較少網(wǎng)絡(luò)流量。一旦數(shù)據(jù)保存在本地后柒啤,就可以避免再向服務(wù)器請(qǐng)求數(shù)據(jù)倦挂,因此減少不必要的數(shù)據(jù)請(qǐng)求,減少數(shù)據(jù)在瀏覽器和服務(wù)器間不必要地來(lái)回傳遞担巩》皆快速顯示數(shù)據(jù):性能好,從本地讀數(shù)據(jù)比通過(guò)網(wǎng)絡(luò)從服務(wù)器獲取數(shù)據(jù)快得多涛癌,本地?cái)?shù)據(jù)可以及時(shí)獲得犯戏。再加上網(wǎng)頁(yè)本身也可以有緩存,因此整個(gè)頁(yè)面和數(shù)據(jù)都在本地的話拳话,可以立即顯示先匪。臨時(shí)存儲(chǔ):很多時(shí)候數(shù)據(jù)只需要在用戶瀏覽一組頁(yè)面期間使用,關(guān)閉窗口數(shù)據(jù)就可以丟失了弃衍,這種情況使用sessionStorage非常方便呀非。
- 共同點(diǎn):都是保存在瀏覽器端,且同源的镜盯。
- 區(qū)別:
cookie數(shù)據(jù)始終在同源的http請(qǐng)求中攜帶(即使不需要)岸裙,即cookie在瀏覽器和服務(wù)器間來(lái)回傳遞。cookie數(shù)據(jù)還有路徑(path)的概念速缆,可以限制cookie只屬于某個(gè)路徑下降允。存儲(chǔ)大小限制也不同,cookie數(shù)據(jù)不能超過(guò)4k激涤,同時(shí)因?yàn)槊看蝖ttp請(qǐng)求都會(huì)攜帶cookie,所以cookie只適合保存很小的數(shù)據(jù),如會(huì)話標(biāo)識(shí)倦踢。cookie只在設(shè)置的cookie過(guò)期時(shí)間之前一直有效送滞,即使窗口或?yàn)g覽器關(guān)閉。cookie也是在所有同源窗口中都是共享的辱挥。
sessionStorage和localStorage不會(huì)自動(dòng)把數(shù)據(jù)發(fā)給服務(wù)器犁嗅,僅在本地保存。sessionStorage和localStorage雖然也有存儲(chǔ)大小的限制晤碘,但比cookie大得多褂微,可以達(dá)到5M或更大。數(shù)據(jù)有效期不同园爷,sessionStorage:僅在當(dāng)前瀏覽器窗口關(guān)閉前有效宠蚂,自然也就不可能持久保持;localStorage:始終有效童社,窗口或?yàn)g覽器關(guān)閉也一直保存求厕,因此用作持久數(shù)據(jù);作用域不同扰楼,sessionStorage不在不同的瀏覽器窗口共享呀癣,即使是同一個(gè)頁(yè)面;localStorage在所有同源窗口中都是共享的弦赖;Web Storage支持事件通知機(jī)制项栏,可以將數(shù)據(jù)更新的通知發(fā)送給監(jiān)聽者。
localStorage.setItem(key,value) // 保存數(shù)據(jù)
localStorage.getItem(key) // 獲取數(shù)據(jù)
localStorage.removeItem(key) //刪除數(shù)據(jù)
localStorage.clear() // 刪除所有的數(shù)據(jù)
localStorage.key[index] // 得到某個(gè)索引的key