Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。
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>
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>
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>
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>
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>
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>