【问题标题】:check localStorage in javascript在javascript中检查localStorage
【发布时间】:2014-01-24 22:02:02
【问题描述】:

我有一个功能,用户可以在其中对项目列表进行投票。 当点击投票按钮时,我设置了一个这样的 localStorage 对象

localStorage['vote' + id] = 'true'; 

当用户再次访问该页面时,想检查他是否可以投票。例如。如果他已经投票过一次我想隐藏投票按钮或其他东西。现在我在点击投票功能中有这个检查。但是我想在用户访问该网站时尽快进行检查。

有人知道怎么做吗?

在我的点击中,检查看起来像这样。但是我想在网站打开时首先进行检查。

        if(localStorage['vote' + id] == 'true') {
            $(container).find("span").html("already voted")
            return;
        } 

【问题讨论】:

  • 那你为什么不检查一下 $(document).ready(); ?

标签: javascript html local-storage


【解决方案1】:

只需输入:

if (localStorage['vote' + id] == 'true') {
    // Don't let them vote
}

...HTML 末尾的脚本标记中的代码(就在</body> 标记之前)。 (这是where your script tags should be in general anyway。)然后你就会知道容器存在并且你可以更新span。

例如:

<!doctype html>
<html>
<!-- ...the usual header stuff ... -->
<body>
<!-- ...your body content... -->
<script src="/path/to/your/script.js"></script>
</body>
</html>

...检查存在于相关脚本文件中的位置。 (或者您可以将脚本内联,当然。)

【讨论】:

  • 谢谢。但是当我这样做时,ID 变得未定义。此代码在带有 init()、render() 等的自己的 js 文件中运行。单击即可设置 ID。我想在 init() 中检查 id。
  • @user3122094:是的,显然你需要确保你正确设置了id。如果id 是一个页面范围的值,那很好。如果它特定于每个问题,则需要一个循环。
  • 是的,我准备好了。我只是无法在 mi init 中检索它。那怎么做?我可以在 init 中循环它还是什么意思?
  • @user3122094:这个id来自哪里?您的问题中没有任何内容。如果(例如)它作为 data- 属性存储在您单击的元素上,您将查询这些元素,遍历它们并使用该属性。
  • 嗨,是的,它来自我点击的项目的数据属性。我该怎么做?
猜你喜欢
  • 2018-05-30
  • 1970-01-01
  • 2020-03-21
  • 1970-01-01
  • 2013-05-01
  • 2012-04-01
  • 2011-12-01
  • 2013-03-05
  • 2018-09-09
相关资源
最近更新 更多