【问题标题】:Display all the local storage where the key is unknown显示密钥未知的所有本地存储
【发布时间】:2017-12-16 14:09:32
【问题描述】:

我有一个 HTML 表单。当您提交表单时。 它创建了一个本地存储,其中 Key = date 和 hours 并且 value = 表单的数据。

如何显示我的所有本地存储? (我不知道密钥的名称所以) 并将所有本地存储导出到一个txt文件

【问题讨论】:

  • “将所有本地存储导出到 txt 文件”是指只需复制并粘贴值一次,或者将导出绑定到提交,以便每次提交值时都会创建 txt?

标签: javascript jquery html forms local-storage


【解决方案1】:

只需使用

var data = localStorage;

for(var key in data){

  console.log(key, data[key]);

}

数据将具有键值对。使用for in loop,您可以遍历数据和访问。

【讨论】:

  • 我不想在控制台中显示这个。我想将所有本地存储导出到 txt
  • 你的意思是你的文本文件是什么数据? @F.Vandroy
【解决方案2】:

您可以通过在您的开发工具控制台中输入localStorage 来查看localStorage 的全部内容,或者直接在您的代码中使用window.localStorage 变量

在 chrome devtools 上,您还可以转到 Applications > Storage > Local Storage(在左侧)

【讨论】:

  • 我不想在控制台中显示这个。我想将所有本地存储导出到 txt
  • 从控制台复制粘贴到一个txt文件中;)
【解决方案3】:

您可以通过以下方式将localStorage 中的所有数据存储到变量中,然后通过下载链接将其保存为文本文件。

var downloadlink = document.getElementById('download');
var text = '';
for(var key in localStorage) {
  text += localStorage.getItem(key).toString();
}

var file = new Blob([text], {type: 'text/plain'});
downloadlink.href = URL.createObjectURL(file);
downloadlink.download = 'localStorageData.txt';
<a id="download" href="">Download</a>

用for循环试试

for(var key in localStorage) {
   console.log('key: ', key);
   console.log('data: ', localStorage.getItem(key));
}

【讨论】:

  • 我不想在控制台中显示这个。我想将所有本地存储导出到 txt
【解决方案4】:

localStorage 有一个length 属性,用于计算现有keys 的数量。对于这些key 中的每一个,都有一个item 可通过getItem 方法访问。

在控制台中尝试以下代码,因为这里是沙盒,并且 localStorage 不可访问。

var ls = top.localStorage,
  n = ls.length,
  i = 0,
  key, value;

console.log('There are ', n, 'items in the localStorage');

for (; i < n; i++) {
  key = ls.key(i);
  value = ls.getItem(key);
  console.log('key: ', key, 'value:', value);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-22
    • 2012-01-15
    • 1970-01-01
    • 2020-07-13
    • 2015-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多