題目1: HTML5是什么?有哪些新特性?有哪些新增標簽?如何讓低版本的 IE 支持 HTML5新標簽
- HTML5 是 HTML 的第五次重大修改,設計目的是為了在移動設備上支持多媒體。
特性:
- 語義特性
- 本地存儲特性(localStorage Indexed DB)
- 設備兼容特性(Geolocation)
- 連接特性(實時特性、webSockets)
- 網(wǎng)頁多媒體特性(Audio Video Canvas SVG)
- 性能與集成特性(XMLHttpRequest2 等技術)
- CSS特性
新增標簽
header nav footer article section aside dialog audio video
低版本的IE支持HTML5標簽
方法一:``
上面這段代碼僅會在IE瀏覽器中運行,還有一點需要注意,在頁面中調(diào)用html5.js文件必須添加在頁面的head元素內(nèi),因為IE瀏覽器必須在元素解析前知道這個元素,所以這個js文件不能在頁面底部調(diào)用。
方法二: 在html加入(推薦)
除了在網(wǎng)頁中調(diào)用包含以上代碼的js文件來讓IE瀏覽器支持HTML5元素以外,你也可以以下面這種方式把代碼直接添加到網(wǎng)頁中。
<!--[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必須有@符號
<input type="number">//只能輸入數(shù)字
<input type="url">//必須有協(xié)議
<input type="range">//范圍
<input type="date">//日期,包括年、月、日
<input type="month">//包括月、日
<input type="week">//哪一年,第幾周
<input type="time">//包括時、分、秒
<input type="datetime">//基于 UTC 時區(qū)的日期時間輸入控件(時,分,秒及幾分之一秒)。
</form>
題目3: 瀏覽器本地存儲中 cookie 和 localStorage 有什么區(qū)別? localStorage 如何存儲刪除數(shù)據(jù)。
localStorage帶來的好處:較少網(wǎng)絡流量。一旦數(shù)據(jù)保存在本地后,就可以避免再向服務器請求數(shù)據(jù),因此減少不必要的數(shù)據(jù)請求,減少數(shù)據(jù)在瀏覽器和服務器間不必要地來回傳遞??焖亠@示數(shù)據(jù):性能好,從本地讀數(shù)據(jù)比通過網(wǎng)絡從服務器獲取數(shù)據(jù)快得多,本地數(shù)據(jù)可以及時獲得。再加上網(wǎng)頁本身也可以有緩存,因此整個頁面和數(shù)據(jù)都在本地的話,可以立即顯示。臨時存儲:很多時候數(shù)據(jù)只需要在用戶瀏覽一組頁面期間使用,關閉窗口數(shù)據(jù)就可以丟失了,這種情況使用sessionStorage非常方便。
- 共同點:都是保存在瀏覽器端,且同源的。
- 區(qū)別:
cookie數(shù)據(jù)始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和服務器間來回傳遞。cookie數(shù)據(jù)還有路徑(path)的概念,可以限制cookie只屬于某個路徑下。存儲大小限制也不同,cookie數(shù)據(jù)不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數(shù)據(jù),如會話標識。cookie只在設置的cookie過期時間之前一直有效,即使窗口或瀏覽器關閉。cookie也是在所有同源窗口中都是共享的。
sessionStorage和localStorage不會自動把數(shù)據(jù)發(fā)給服務器,僅在本地保存。sessionStorage和localStorage雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大。數(shù)據(jù)有效期不同,sessionStorage:僅在當前瀏覽器窗口關閉前有效,自然也就不可能持久保持;localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數(shù)據(jù);作用域不同,sessionStorage不在不同的瀏覽器窗口共享,即使是同一個頁面;localStorage在所有同源窗口中都是共享的;Web Storage支持事件通知機制,可以將數(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] // 得到某個索引的key