h5 本地儲存
阿新 • • 發佈:2020-08-09
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>