Zim*_*m84 8 javascript import export local-storage
我想从我的localStorage导出一些项目,以便将其保存在外部,但格式为以后我可以再次导入.
我的尝试是编写可以在以后的textarea中粘贴的可执行代码.然后,该textare的值将简单地为eval()ed.
问题:存储在localStorage中的数据存储为
var data = [];
data.push('sampledata');
data.push({sample: 'object'});
localStorage.setItem('varname',data);
Run Code Online (Sandbox Code Playgroud)
所以它包含了我不喜欢的各种字符,如','等
到目前为止我的(不工作)解决方案是:
var container = $('#localDataContainer');
container.append('localStorage.setItem("cockpitLastVisited","' + localStorage.getItem("cockpitLastVisited") + '");<br/>');
container.append('localStorage.setItem("cockpit_services","' + localStorage.getItem("cockpit_services") + '");<br/>');
container.append('localStorage.setItem("cockpit_users","' + localStorage.getItem("cockpit_users") + '");');
Run Code Online (Sandbox Code Playgroud)
如果我的尝试似乎没问题,创建代码的最佳方法是什么,然后可以按原样执行?
Jer*_*ier 28
以下是导入/导出整个localStorage的方法
出口
copy(JSON.stringify(localStorage));
Run Code Online (Sandbox Code Playgroud)
这会将localStorage复制到剪贴板.(你需要两个JSON.stringify()来获取引号转义.)
进口
var data = JSON.parse(/*paste stringified JSON from clipboard*/);
Object.keys(data).forEach(function (k) {
localStorage.setItem(k, data[k]);
});
Run Code Online (Sandbox Code Playgroud)
您可以使用JSON.stringify(对象到String)将对象编码为字符串,并使用JSON.parse(String to Object)将字符串解码为对象.
写信给localStorage
localStorage.setItem("varname",JSON.stringify(originalVarname));
Run Code Online (Sandbox Code Playgroud)
从localStorage读取
var originalVarname= JSON.parse(localStorage.getItem("varname"));
Run Code Online (Sandbox Code Playgroud)
出口
copy(JSON.stringify(JSON.stringify(localStorage)));
Run Code Online (Sandbox Code Playgroud)
进口
var data = JSON.parse(/*previously copied stringified JSON from clipboard*/);
Object.keys(data).forEach(function (k) {
localStorage.setItem(k, data[k]);
});
Run Code Online (Sandbox Code Playgroud)
只是杰里米的改良版。简化流程
copy('var data = '+JSON.stringify(localStorage)+';Object.keys(data).forEach(function (k){localStorage.setItem(k, data[k]);});');
Run Code Online (Sandbox Code Playgroud)
在需要导出的控制台中运行此命令,它将本地存储内容以及代码复制到剪贴板,然后将其粘贴到要导入的控制台中。
| 归档时间: |
|
| 查看次数: |
7489 次 |
| 最近记录: |