1

用户是否可以查看使用 localStorage API 存储的项目的值?就像饼干一样?

4

2 回答 2

1

是的,Safari 和 Chrome 的网络检查器允许检查该数据。我不确定其他浏览器如何处理它,但它肯定不是你可以依靠不被编辑的东西。

于 2010-10-20T15:22:30.177 回答
0

您可以轻松加载要显示给用户的项目。

只需在页面加载时使用 Javascript 遍历本地存储中的所有项目...

<body>
<script language="JavaScript" type="text/javascript">
var item = "";//array to hold string values for each key value
var key ="";//array to hold string values for each key name
for (i=0;i < localStorage.length;i++) {

    var count = 0;
    if (key != "" | key != null) { //or matches what you're looking for
      item[count] = localStorage.getItem(key);
      key(i) = localStorage.key(i);
      count += 1;
    }

 }

function load_table()
{
if (item == "" || item == " " || item == null) {
document.write("<div id=\"list_table\" style=\"display: block;\">");
document.write("<h3>You have no stored items.</h3>");
document.write("</div>");
}
else {
     document.write("<div id=\"list_table\" style=\"display: block;\">");
     document.write("<h3>Stored Items</h3>");
     document.write("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");

     for (i=0;i < item.length;i++) {
          document.write("<tr><td width=\"33%\" valign=\"top\">"+item(i)+"</td>");
          document.write("<td width=\"67%\" valign=\"top\" style=\"padding-left: 0px; text-transform: capitalize;\">"+key(i)+"</td></tr>");
          }
 }


document.write("</table>");
document.write("</div> <!-- end list_table div -->");
} // end if (item != "")
} // end load_table
</script>

在 html 中,您将可以显示或隐藏的 div 粘贴在适当的位置。

<div id="items_table" style="display: none;">
<script language="JavaScript" type="text/javascript">
//alert("calling load_table");
load_table();
//alert("DONE calling load_table");
</script>
</div>

如果他们单击链接,则您可以显示在页面加载期间填充并隐藏的 items_table。只要您没有要加载的数千个项目,它就会快速加载。

如果您愿意,我可以挖掘一个链接以在样式显示属性的块和无之间切换显示。

于 2011-11-25T05:22:36.337 回答