1. 程式人生 > 實用技巧 >h5 本地儲存

h5 本地儲存

Storage模組管理應用本地資料儲存區,用於應用資料的儲存和讀取。應用本地資料與localStorage、sessionStorage的區別在於資料有效域不同,前者可在應用內跨域操作,資料儲存期是持久化的,並且沒有容量限制。通過plus.storage可獲取應用本地資料管理物件。

方法:

  • getLength: 獲取應用儲存區中儲存的鍵值對的個數
  • getItem: 通過鍵(key)檢索獲取應用儲存的值
  • setItem: 修改或新增鍵值(key-value)對資料到應用資料儲存中
  • removeItem: 通過key值刪除鍵值對儲存的資料
  • clear: 清除應用所有的鍵值對儲存資料
  • key: 獲取鍵值對中指定索引值的key值

許可權:

5+功能模組(permissions)

 

{

// ...

"permissions":{

               // ...

               "Storage": {

                               "description": "本地儲存,訪問應用本地儲存資料"

               }

}

}

                               

getLength

獲取應用儲存區中儲存的鍵值對的個數

var foo = plus.storage.getLength();

引數:

返回值:

Number: 鍵值對的個數

示例:

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener(
"plusready",plusReady,false); // Get storage item length function storageCount() { return plus.storage.getLength(); } </script> </head> <body> 獲取應用儲存區中儲存的鍵值對的個數<br/> <button onclick="storageCount()">Count</button> </body> </html>

getItem

通過鍵(key)檢索獲取應用儲存的值

var foo = plus.storage.getItem(key);

引數:

  • key:(DOMString) 必選
    儲存的鍵值

返回值:

DOMString: 鍵(key)對應應用儲存的值,如果沒有儲存則返回null。

示例:

 

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener("plusready",plusReady,false);

// Get storage item value

function getStorage() {

               return plus.storage.getItem("test");

}

               </script>

               </head>

               <body>

                               獲取應用儲存區中儲存的鍵值對的個數<br/>

                               <button onclick="alert(getStorage())">Get item(test)</button>

               </body>

</html>

                                      

setItem

修改或新增鍵值(key-value)對資料到應用資料儲存中

void plus.storage.setItem(key, value);

說明:

如果設定的鍵在應用資料儲存中已經存在,更新儲存的鍵值。 儲存的鍵和值沒有容量限制,但過多的資料量會導致效率降低,建議單個鍵值資料不要超過10Kb。

引數:

  • key:(DOMString) 必選
    儲存的鍵值
  • value:(DOMString) 必選
    儲存的內容

返回值:

void: 無

示例:

 

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener("plusready",plusReady,false);

// Remove storage item

function setStorage() {

               plus.storage.setItem("test","test with hbuilder!");

}

               </script>

               </head>

               <body>

                               修改或新增鍵值(key-value)對資料到應用資料儲存中<br/>

                               <button onclick="setStorage()">Set item(test)</button>

               </body>

</html>

                                    

removeItem

通過key值刪除鍵值對儲存的資料

void plus.storage.removeItem(key);

引數:

  • key:(DOMString) 必選
    儲存的鍵值

返回值:

void: 無

示例:

 

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener("plusready",plusReady,false);

// Remove storage item

function removeStorage() {

               plus.storage.removeItem("test");

}

               </script>

               </head>

               <body>

                               清除應用所有的鍵值對儲存資料<br/>

                               <button onclick="removeStorage()">Remove item(test)</button>

               </body>

</html>

clear

清除應用所有的鍵值對儲存資料

void plus.storage.clear();

引數:

返回值:

void: 無

示例:

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener("plusready",plusReady,false);

// Clear storage data

function clearStorage() {

               plus.storage.clear();

}

               </script>

               </head>

               <body>

                               清除應用所有的鍵值對儲存資料<br/>

                               <button onclick="clearStorage()">Clear</button>

               </body>

</html>

                                                            

key

獲取鍵值對中指定索引值的key值

 

var foo = plus.storage.key(index);

引數:

  • index:(Number) 必選儲存鍵值的索引

返回值:

void: 無

示例:

<!DOCTYPE html>

<html>

               <head>

               <meta charset="utf-8">

               <title>Storage Example</title>

               <script type="text/javascript">

// H5 plus事件處理

function plusReady(){

}

document.addEventListener("plusready",plusReady,false);

// Get value by index

function enumValueByIndex() {

               var keyNames=[];

               var values=[];

               var numKeys=plus.storage.getLength();

               for(var i=0; i<numKeys; i++) {

                               keyNames[i] = plus.storage.key(i);

                               values[i] = plus.storage.getItem(keyNames[i]);

               }

}

               </script>

               </head>

               <body>

                               獲取鍵值對中指定索引值的key值<br/>

                               <button onclick="enumValueByIndex()">Enum</button>

               </body>

</html>