0

我只是问自己是否可以使用简单的 javascript 读取浏览器中所有网站的整个 localStorage 并将其显示在 html 页面上?有没有办法做到这一点?我在谷歌上没有找到任何方法来提取一个存储的密钥。

4

3 回答 3

1

对于当前域,请使用以下内容:

for (var key in localStorage){
   console.log(key + ': ' + localStorage.getItem( key ))
}

当然,您可以将值放在数组中或以任何其他方式显示它们。

(示例代码将在您的控制台中显示键/值。在谷歌浏览器中按 ctrl+J 并单击控制台,或在 Windows 中按 F12 并单击控制台)

但是:Javascript 无法访问当前域的其他域的本地存储。因为如果可以,它也将允许恶意网站所有者 ie。读取该数据并使用 ajax 将其提交到他们的网站。

编辑:在谷歌浏览器中,您可以按 CTRL-J,然后转到“资源”选项卡。它将在树中包含一个本地存储项,并为每个在系统上具有本地存储的域提供一个子项。您可以在那里查看内容。

于 2013-06-07T14:39:52.067 回答
0

不!只能访问您所在域的本地存储。这是一项安全功能。

于 2013-06-07T14:37:43.900 回答
0

Local- 和 sessionStorage 必须遵守 SOP(同源策略),就像 Ajax 请求一样。

要在同一个域上执行此操作,您只需遍历它,因为 local- 和 sessionStorage 都是 JavaScript 对象。

for(var i in localStorage)
{
    var item = localStorage.getKey(i);
    console.log(i + " => " + item);
}
于 2013-06-07T14:42:35.737 回答