web本地儲存 WebSQL

2022-08-27 08:33:09 字數 1790 閱讀 5262

web sql資料庫api實際上未包含在html 5規範之中,它是乙個獨立的規範,它引入了一套使用sql操作客戶端資料庫的api。w3c 官方在 2011 年 11 月宣告已經不再維護 web sql database 規範。但目前較新的chrome瀏覽器以及一些webkit核心瀏覽器支援websql資料庫,因此仍然必需要了解的,另外操作websql還需要一定的sql基礎。

規範中主要有三個核心方法:

1、opendatabase:請求開啟乙個現有資料庫或建立新資料庫物件。

2、transaction:事務方法,允許我們根據情況控制事務提交或回滾。

3、executesql:執行真實的sql查詢。

示例**:

1

//開啟資料庫

2var db = window.opendatabase("store", "1.0", "store", 2*1024);

3//開啟事務請求

4db.transaction(function (t), function(e));

12//開啟乙個唯讀事務

13db.readtransaction(function(t)

19});

20 }, function(e){});

opendatabase(param1,param2,param3,param4,param5)引數說明:

當指定的資料庫名(param1)存在時,只有版本號(param2)與客戶端一致或版本號指定為空的字串('')時,可正常開啟資料庫,返回database物件,否則都將丟擲異常;

當指定的資料庫名(param1)不存在時,將新建立乙個符合引數的資料庫,並返回database物件。

第乙個引數:資料庫名

第二個引數:當前資料庫版本,若指定版本號與瀏覽器客戶端不一致將報錯,無法開啟資料庫,並丟擲版本不匹配錯誤。可以指定為空('');建議指定為空字串(''),其他若不匹配都將報錯。僅當指定的版本與客戶端一致或指定為''時,可以正常開啟資料庫;

第三個引數:資料庫描述。但實際感覺沒啥用處。像是被丟棄了。

第四個引數:資料庫大小

第五個引數:乙個**函式,當要開啟的資料庫不存在時,會將db作為引數呼叫,同時opendatabase也會返回db; 特別注意:**函式執行為非同步操作,需當心;比如在**函式f中初始化建立了一張表a,但由於是非同步的,在拿著opendatabase返回的db做操作時,就可能查詢不到表a,因為之前的**函式f可能還沒完成。

個人感覺不好使,建議棄用。

物件結構展示:

資料操作物件database

事務物件transaction

r  sqlresultset sql操作返回結果物件。乙個是讀取select資料時返回的物件,乙個是寫入insert資料時返回的物件

web本地儲存

localstorage sessionstorage localstorage 長期儲存 資料依然會一直存在 手動清除 1.儲存資料到本地 sessionstorage.setitem email gengwenx yeah.net localstorage.setitem email gengw...

web本地儲存

隨著網際網路的快速發展,基於網頁的應用越來越普遍,同時也變的越來越複雜,為了滿足各種各樣的需求,會經常性在本地儲存大量的資料,傳統方式我們以 document.cookie來進行儲存的,但是由於其儲存大小只有4k左右,並且解析也相當的複雜,每一次傳送請求都會攜帶上cookie,會造成頻寬的浪費,給開...

web 本地儲存

說明 對瀏覽器來說,使用 web storage 儲存鍵值對比儲存 cookie 方式更直觀,而且容量更大,它包含兩種 localstorage 和 sessionstorage localstorage 長期儲存 與 sessionstorage 一樣,但是瀏覽器關閉後,資料依然會一直存在 api...