HTML5本地存储
我可以通过HTML5将数据保存到客户端脱机的CSV或XML文件吗?脱机存储是一个内部存储。它并不意味着将某些文件导出到磁盘上的特定格式/特定文件夹。您可以使用本地存储,但这只允许您在浏览器的内部存储中存储某些内容(您无法决定在何处以及如何写入数据) 还有一个文件API,但还处于非常早期的阶段,到目前为止,它不允许在客户端上任意存储文件:HTML5本地存储,html,Html,我可以通过HTML5将数据保存到客户端脱机的CSV或XML文件吗?脱机存储是一个内部存储。它并不意味着将某些文件导出到磁盘上的特定格式/特定文件夹。您可以使用本地存储,但这只允许您在浏览器的内部存储中存储某些内容(您无法决定在何处以及如何写入数据) 还有一个文件API,但还处于非常早期的阶段,到目前为止,它不允许在客户端上任意存储文件: web存储API将数据存储为[key,value]对,其中key,value都是字符串 因此,对于本地存储,任何格式的数据都需要遵循这种机制。例如,如果您有一个
web存储API将数据存储为[key,value]对,其中key,value都是字符串 因此,对于本地存储,任何格式的数据都需要遵循这种机制。例如,如果您有一个JSON对象,如:
{
name:'John',
gender:'male'
}
在将其作为字符串传递后,可以(通过JavaScript)将其存储,如下所示:
localStorage.setItem("myObj","{name:'John',gender:'male'}");
对于JSON对象,使用JSON.stringify()将其转换为字符串,并使用JSON.parse()将其读回。您可以像这样保存并导出为csv 假设您已经创建了这样的数组或对象
var arrayOrObject = [{obj1:{name:John, age:16}},{obj2:{name:Jane, age:17}}];
您可以使用localStorage将此数据保存到本地设备
if (typeof(localStorage) == 'undefined' ) {
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
}
else {
try {
localStorage.setItem("storedArrayOrObject", JSON.stringify(arrayOrObject));
//saves to the database, “key”, “value”
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
alert('Quota exceeded!'); //data wasn’t successfully saved due to quota exceed so throw an error
}
}
}
要获取数组或对象结构中的数据,请执行以下操作:
var getStoredArrayOrObject = JSON.parse(localStorage.getItem('storedArrayOrObject'));`
要删除localStorage数据,请执行以下操作:
localStorage.removeItem('storedArrayOrObject');
不建议使用此选项,但可以使用:
localStorage.clear();