HTML5本地存储

HTML5本地存储,html,Html,我可以通过HTML5将数据保存到客户端脱机的CSV或XML文件吗?脱机存储是一个内部存储。它并不意味着将某些文件导出到磁盘上的特定格式/特定文件夹。您可以使用本地存储,但这只允许您在浏览器的内部存储中存储某些内容(您无法决定在何处以及如何写入数据) 还有一个文件API,但还处于非常早期的阶段,到目前为止,它不允许在客户端上任意存储文件: web存储API将数据存储为[key,value]对,其中key,value都是字符串 因此,对于本地存储,任何格式的数据都需要遵循这种机制。例如,如果您有一个

我可以通过HTML5将数据保存到客户端脱机的CSV或XML文件吗?

脱机存储是一个内部存储。它并不意味着将某些文件导出到磁盘上的特定格式/特定文件夹。

您可以使用本地存储,但这只允许您在浏览器的内部存储中存储某些内容(您无法决定在何处以及如何写入数据)

还有一个文件API,但还处于非常早期的阶段,到目前为止,它不允许在客户端上任意存储文件:


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();