【问题标题】:Display info box when user clicks only once in 24h当用户在 24 小时内仅单击一次时显示信息框
【发布时间】:2015-11-06 10:38:34
【问题描述】:

当用户点击我网站上的任何位置时,我想显示一个信息框。它工作得很好,但信息框应该只在 24 小时内显示一次。所以我需要设置一个cookie,但不幸的是我不知道怎么做。

<script>    
    document.onclick = function (event) {
        alert("Some info box");
    };    
</script

【问题讨论】:

标签: javascript jquery cookies session-cookies setcookie


【解决方案1】:

您可以为此使用document.cookie。这是一篇关于它的文章:https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie.
出于您的目的,您需要以下内容:

<script>


  document.onclick= function(event) {

  // Check if the cookie is set
  if (document.cookie.indexOf("alert=true") == -1) {
      alert("Some info box");
      // Set a cookie to indicate the alert has been displayed.
      // Expiration time is 60 seconds * 60 minutes * 24 hours
      document.cookie = "alert=true; max-age=" + 60 * 60 * 24;
  }


    };
  </script>

【讨论】:

    【解决方案2】:

    你有几件事要做。

    1. 首先,使用document.cookie 设置一个cookie,它将包含从现在起24 小时的时间戳。这应该在用户第一次点击网页时完成。您现在可以显示信息框。
    2. 然后,对于之后的每一次点击,您应该检查now 的时间是否超过了cookie 的值(这意味着只需检查自设置cookie 以来是否已经过了24 小时。
    3. 仅当超过时,显示信息框并将 cookie 值从 now 更新为 24hrs。

    我创建了一个小提琴来演示它HERE

    【讨论】:

      猜你喜欢
      • 2022-10-24
      • 1970-01-01
      • 2013-02-27
      • 2012-07-09
      • 1970-01-01
      • 2018-10-25
      • 2018-02-17
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多