pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

詳解前端HTML5幾種存儲方式的總結

本篇文章主要介紹了前端HTML5幾種存儲方式的總結 ,主要包括本地存儲localstorage,本地存儲sessionstorage,離線緩存(application cache),Web SQL,IndexedDB。有興趣的可以了解一下。

總體情況

h5之前,存儲主要是用cookies。cookies缺點有在請求頭上帶著數據,大小是4k之內。主Domain污染。

主要應用:購物車、客戶登錄

對于IE瀏覽器有UserData,大小是64k,只有IE瀏覽器支持。

目標

  1. 解決4k的大小問題
  2. 解決請求頭常帶存儲信息的問題
  3. 解決關系型存儲的問題
  4. 跨瀏覽器

1.本地存儲localstorage

存儲方式:

以鍵值對(Key-Value)的方式存儲,永久存儲,永不失效,除非手動刪除。 

大小:

每個域名5M

支持情況:

注意:IE9 localStorage不支持本地文件,需要將項目署到服務器,才可以支持!

 檢測方法:

if(window.localStorage){

 alert('This browser supports localStorage');

}else{

 alert('This browser does NOT support localStorage');

} 

常用的API:

getItem //取記錄

setIten//設置記錄

removeItem//移除記錄

key//取key所對應的值

clear//清除記錄

存儲的內容:

數組,圖片,json,樣式,腳本。。。(只要是能序列化成字符串的內容都可以存儲)

2.本地存儲sessionstorage

HTML5 的本地存儲 API 中的 localStorage 與 sessionStorage 在使用方法上是相同的,區別在于 sessionStorage 在關閉頁面后即被清空,而 localStorage 則會一直保存。

3.離線緩存(application cache)

本地緩存應用所需的文件

使用方法:

①配置manifest文件

頁面上:

<!DOCTYPE HTML>

<html manifest="demo.appcache">

...

</html> 

Manifest 文件:

manifest 文件是簡單的文本文件,它告知瀏覽器被緩存的內容(以及不緩存的內容)。

manifest 文件可分為三個部分:

①CACHE MANIFEST - 在此標題下列出的文件將在首次下載后進行緩存

②NETWORK - 在此標題下列出的文件需要與服務器的連接,且不會被緩存

③FALLBACK - 在此標題下列出的文件規定當頁面無法訪問時的回退頁面(比如 404 頁面)

完整demo:

CACHE MANIFEST

# 2016-07-24 v1.0.0

/theme.css

/main.js



NETWORK:

login.jsp

 

FALLBACK:

/html/ /offline.html 

服務器上:manifest文件需要配置正確的MIME-type,即 "text/cache-manifest"。

如Tomcat:

<mime-mapping>

     <extension>manifest</extension>

     <mime-type>text/cache-manifest</mime-type>

</mime-mapping> 

常用API:

核心是applicationCache對象,有個status屬性,表示應用緩存的當前狀態:

0(UNCACHED) :  無緩存, 即沒有與頁面相關的應用緩存

1(IDLE) : 閑置,即應用緩存未得到更新

2 (CHECKING) : 檢查中,即正在下載描述文件并檢查更新

3 (DOWNLOADING) : 下載中,即應用緩存正在下載描述文件中指定的資源

4 (UPDATEREADY) : 更新完成,所有資源都已下載完畢

5 (IDLE) :  廢棄,即應用緩存的描述文件已經不存在了,因此頁面無法再訪問應用緩存

 相關的事件:

表示應用緩存狀態的改變:

checking : 在瀏覽器為應用緩存查找更新時觸發

error : 在檢查更新或下載資源期間發送錯誤時觸發

noupdate : 在檢查描述文件發現文件無變化時觸發

downloading : 在開始下載應用緩存資源時觸發

progress:在文件下載應用緩存的過程中持續不斷地下載地觸發

updateready : 在頁面新的應用緩存下載完畢觸發

cached : 在應用緩存完整可用時觸發 

Application Cache的三個優勢:

① 離線瀏覽

② 提升頁面載入速度

③ 降低服務器壓力

注意事項:

1. 瀏覽器對緩存數據的容量限制可能不太一樣(某些瀏覽器設置的限制是每個站點 5MB)

2. 如果manifest文件,或者內部列舉的某一個文件不能正常下載,整個更新過程將視為失敗,瀏覽器繼續全部使用老的緩存

3. 引用manifest的html必須與manifest文件同源,在同一個域下

4. 瀏覽器會自動緩存引用manifest文件的HTML文件,這就導致如果改了HTML內容,也需要更新版本才能做到更新。

5. manifest文件中CACHE則與NETWORK,FALLBACK的位置順序沒有關系,如果是隱式聲明需要在最前面

6. FALLBACK中的資源必須和manifest文件同源

7. 更新完版本后,必須刷新一次才會啟動新版本(會出現重刷一次頁面的情況),需要添加監聽版本事件。

8. 站點中的其他頁面即使沒有設置manifest屬性,請求的資源如果在緩存中也從緩存中訪問

9. 當manifest文件發生改變時,資源請求本身也會觸發更新

離線緩存與傳統瀏覽器緩存區別:

1. 離線緩存是針對整個應用,瀏覽器緩存是單個文件

2. 離線緩存斷網了還是可以打開頁面,瀏覽器緩存不行

3. 離線緩存可以主動通知瀏覽器更新資源

4.Web SQL

關系數據庫,通過SQL語句訪問

Web SQL 數據庫 API 并不是 HTML5 規范的一部分,但是它是一個獨立的規范,引入了一組使用 SQL 操作客戶端數據庫的 APIs。 

支持情況:

 Web SQL 數據庫可以在最新版的 Safari, Chrome 和 Opera 瀏覽器中工作。

核心方法:

①openDatabase:這個方法使用現有的數據庫或者新建的數據庫創建一個數據庫對象。

②transaction:這個方法讓我們能夠控制一個事務,以及基于這種情況執行提交或者回滾。

③executeSql:這個方法用于執行實際的 SQL 查詢。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

主站蜘蛛池模板: 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 硅胶制品-硅橡胶制品-东莞硅胶制品厂家-广东帝博科技有限公司 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 江西自考网-江西自学考试网| 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | ZHZ8耐压测试仪-上海胜绪电气有限公司 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器 | 上海道勤塑化有限公司| nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 南京欧陆电气股份有限公司-风力发电机官网 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 苏州教学设备-化工教学设备-环境工程教学模型|同科教仪 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 湖南教师资格网-湖南教师资格证考试网 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 |