【HTML5初探之本地存儲】如果沒有數據庫。。。

導航

【初探HTML5之使用新標簽布局】用html5布局我的博客頁!

【HTML5初探之form標簽】解放表單驗證、增加文件上傳、集成拖放

【HTML5初探之繪制圖像(上)】看我canvas元素引領下一代web頁面

【HTML5初探之繪制圖像(下)】看我canvas元素引領下一代web頁面

【HTML5初探之多媒體元素】視頻播放HTML5、Flash誰才是王道?

【HTML5初探之本地存儲】如果沒有數據庫。。。

【HTML5初探之離線應用】如何打造零請求、無流量的網站?

【HTML5初探之通信API】跨域門檻不再高、數據推送不是夢

【HTML5初探之Web Workers】網頁也能多線程

【HTML5初探之Geolocation API】讓我們來回去地理信息


前言

本章主要內容是Web Storage與本地數據庫,其中Web Storage 是對cookie的優化,本地數據庫是HTML5新增的一個功能,使用它可以在客戶端建立一個數據庫

大大減輕服務器端的負擔,加快訪問數據速度。

學習本章需要掌握Web Storage基本概念,了解sessionStorage與localStorage的使用與差別

掌握本地數據庫的使用

什么是WebStorage?

前面說過,webstorage是對cookie的優化而來,HTML4中使用cookie在客戶端存儲用戶數據,長期使用發現存在以下問題:

大小限制在4kb
cookie每次隨HTTP事務一起發送,浪費帶寬
正確操作cookie很復雜(這個有待考慮)
由于以上問題,HTML5提出WebStorage作為新的客戶端本地保存技術。

復制代碼
Web Storage 技術在web上存儲數據即針對客戶端本地;具體來說分為兩種:
sessionStrage:
session即會話的意思,在這里的session是指用戶瀏覽某個網站時,從進入網站到關閉網站這個時間段,session對象的有效期就只有這么長。

localStorage:
將數據保存在客戶端硬件設備上,不管它是什么,意思就是下次打開計算機時候數據還在。

兩者區別就是一個作為臨時保存,一個擁有長期保存。
復制代碼
使用示例

簡單應用


在chrome瀏覽器下看會有感覺的。

簡單web留言板

簡單留言板


更復雜的運用中,可以將value值用作json字符串,以此達到用作數據表的目的;

本地數據庫

在HTML5中內置了一個可通過sql訪問的數據庫(新瀏覽器果真強大啊!),所以在HTML4中數據只能存在服務器端,HTML5則改變了這一原則。

這種不需要存儲在服務器的專有名詞為“SQLLite”(我終于知道他是干什么的了)

復制代碼
使用SQLLite數據庫,需要兩個必要步驟:
創建數據庫訪問對象
使用事務處理

創建對象:
openDatabase(dbName, version, dbDesc, size)

實際訪問:
db.transaction(function () {
tx.excuteSql('create table ......');
});

數據查詢:
excuteSql(sql, [], dataHandler, errorHandler)//后面兩個為回調函數;[]估計是做sql注入處理
復制代碼
光說不練假把式,我們來實際操作一番,使用數據庫實現web通訊錄(左思右想還是用上了jQuery):

做的時候居然發現我的FF不支持本地數據庫!!!以下是用chrome完成的簡單的通訊錄:

通訊錄


結語

對于搞過后端的同學,這章東西其實也是非常簡單的,我再一次涌起了這種想法:

其實HTML5就是HTML4+api接口,目的就是讓我們可以用js做更多事情罷了。



本文轉自葉小釵博客園博客,原文鏈接:http://www.cnblogs.com/yexiaochai/archive/2013/04/19/3031002.html如需轉載請自行聯系原作者


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539902.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FragmentActivity和Activity的具體區別

fragment是3.0以后的東西,為了在低版本中使用fragment就要用到android-support-v4.jar兼容包,而fragmentActivity就是這個兼容包里面的,它提供了操作fragment的一些方法,其功能跟3.0及以后的版本的Activity的功能一樣。 下面是API中的原話&am…

算法理論

ylbtech-Arithmetic:算法理論-- -- ylb:算法-- Type:算法-- 簡簡單單的一個月,完成一個臺階的提升-- 1,著重于算法的研究(謝謝她為我出的那道題)-- 2,可以不太依附工具環境開發,現在,也可使用記…

linux環境OpenRASP使用教程,集成openRASP與攻擊測試

1.介紹openRASP是一個百度的安全框架,將其集成到我們的web項目中,就像是給web項目安裝了一款“安全管家”的軟件,它可以檢測到攻擊,并進行攔截。2.集成openRASP到項目中openRASP針對不同的服務器,提供了不同的安裝方法…

JQuery調用iframe子頁面函數/對象的方法

JQuery調用iframe子頁面函數/對象的方法例子: 父頁面有個ID為mainfrm的iframe,iframe連接b.html,該頁面有個函數test 在父頁面調用b.html的test方法為: $("#mainfrm")[0].contentWindow.test();

ExtJs 備忘錄(4)—— Form表單(四) [ 數據提交 ]

一、截圖和示例共用Ext.FormPanel1.1  截圖由于本文主要關注的是表單提交的幾種方式&#xff0c;所以僅用了一個表單項以便于測試和減少示例代碼。1.2  示例共用Ext.FormPanel <script type"text/javascript">Ext.onReady(function() { Ext.Qui…

web.xml文件的作用

每個javaEE工程中都有web.xml文件&#xff0c;那么它的作用是什么呢&#xff1f;它是每個web.xml工程都必須的嗎&#xff1f; 一個web中可以沒有web.xml文件&#xff0c;也就是說&#xff0c;web.xml文件并不是web工程必須的。 web.xml文件是用來初始化配置信息&#xff1…

linux 掃描mipi設備,VS-RK3399 在linux系統下面調試Mipi camera接口介紹

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓debian系統目前支持Usb camera是沒有問題&#xff0c;走UVC功能接口。那么mipi 接口camera和并口接口的camera&#xff0c;在Debian系統怎么設置呢&#xff0c;其實原理一樣&#xff0c;也走uvc接口封裝函數.下面深圳視壯給大家簡單…

hadoop window 搭建

hadoop 原理參考&#xff1a;用 Hadoop 進行分布式并行編程官方中文文檔&#xff1a;http://hadoop.apache.org/core/docs/r0.18.2/cn/index.html1. 首先安裝 cygwin ssh 參考 windows ssh 搭建2. 搭建hadoop 參考 Cygwin下的Hadoop快速入門-偽分布式模式的查缺補漏 這里…

一篇文章解釋struts常用功能

一、什么是框架&#xff1f; 來源于建筑行業&#xff0c;如果建筑一個茅草屋&#xff0c;不需要框架&#xff0c;如果建造一個幾個億的摩天大樓&#xff0c;就需要框架。 小系統用框架浪費人力&#xff0c;中大型系統用框架。 軟件中的框架&#xff0c;是一種半成品。實現了一些…

webpack 3 零基礎入門教程 #12 - 如何使用模塊熱替換 HMR 來處理 CSS

模塊熱替換 是什么意思&#xff1f; 以前我們使用的 webpack --watch 或 webpack-dev-server 的功能是監聽文件改變&#xff0c;就自動刷新瀏覽器&#xff0c;而這個 模塊熱替換 不用刷新瀏覽器&#xff0c;它是只讓修改到的模塊&#xff0c;才會在瀏覽器上發生相應的變化&…

struts2訪問jsp頁面404

問題描述 在搭建struts2環境的時候&#xff0c;拷貝了web.xml&#xff0c;拷貝了struts.xml&#xff0c;拷貝了jar包。運行&#xff0c;正常&#xff0c;訪問jsp頁面&#xff0c;報404錯誤。 web.xml <?xml version"1.0" encoding"UTF-8"?> <w…

centos7定制linux鏡像,自定制Centos7.3系統鏡像(ISO)

本文主要介紹如何根據官方的Centos鏡像文件&#xff0c;在保留原有默認安裝的RPM包的基礎下&#xff0c;添加自己所需要的RPM包的&#xff0c;最終生成一個自定制版的ISO&#xff0c;節省了寶貴的時間并確保了安裝的定制性。對于其他沒有介紹的修改&#xff0c;后續在實踐中會進…

調用打開另外一個APK

2019獨角獸企業重金招聘Python工程師標準>>> Intent mIntent new Intent(); mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName comp new ComponentName("com.mm.android.direct.gdmssphoneLite", "com.mm.android.direct.gdmsspho…

Jquery Mobile dialog的生命周期

JQuery Mobile對htm5的移動開發絕對是個好用的東西&#xff0c;今天簡單談談JQuery Mobile中的dialog的使用。 1.對話框的彈出。 2.對話框的生命周期。 3.對話框內事件的注冊。 1&#xff09;第一個問題&#xff1a;對話框的彈出。 如果要彈出一個對話框&#xff0c;可以在頁面…

基本linux命令vi,基本linux和vi命令.pdf

基本linux和vi命令DETIBIHORP ___________________YLTCIR 附錄 BTSSIR 基本的 Linux 和ETUP vi 命令 yM lO nC oS___________________I eH sT uM NOR OF IS TL AAI RR OET PA RMT OIK

集成Java內容倉庫和Spring

JCR模塊 Spring Modules的一部分&#xff0c;JCR模塊的主要目標是&#xff1a;以一種類似Spring主分發包中ORM包的方式&#xff0c;簡化使用JSR-170 API進行開發。特點如下&#xff1a; JcrTemplate&#xff0c;允許執行JcrCallback和異常處理&#xff08;將需檢查的JCR異常轉換…

jQuery Mobile彈出對話框后不刷新原頁面,保持原頁面內容不變

使用jQuery Mobile開發移動應用程序時&#xff0c;在一個頁面上彈出對話框&#xff0c;關閉對話框后&#xff0c;發現原來的頁面被刷新了。如果原頁面上有一些已經選擇或者填寫的數據&#xff0c;則這些數據就會丟失。這時候&#xff0c;就需要對對話框的返回按鈕做一些處理&am…

mpi4py linux例子,python-3.x – mpi4py中的共享內存

我使用MPI(mpi4py)腳本(在單個節點上),它與一個非常大的對象一起使用.為了讓所有進程都可以訪問該對象,我通過comm.bcast()分發它.這會將對象復制到所有進程并占用大量內存,尤其是在復制過程中.因此,我想分享像指針而不是對象本身.我發現memoryview中的一些功能對于增強進程內對…

c語言源程序最多可能由組成,一個C語言源程序由若干函數組成,其中至少應含有一個()。...

個C語言源由I am interested in the training course, which _____ at Hilton Hotel in Beijing from March 8 to 12, 2018.程序成“萬物莫不有對”體現了中國傳統哲學的矛盾觀。用戶在進行產品的三維設計時&#xff0c;干函可以采用以下( )的設計方法。數組少意識是人腦對客觀…

oracle的背景

oracle簡介 1977年 美國人 Larry 成立軟件開發實驗室 。 1980年 用c/c開發了世界第一個商用關系型數據庫&#xff08;RDBMS&#xff09;。 1983年 公司更名為Oracle Corporation&#xff08;甲骨文公司&#xff09;。 2009年4月21日&#xff0c;Oracle收購Sun公司。 30多…