当用户在 24 小时内仅单击一次时显示信息框
Display info box when user clicks only once in 24h
我想在用户单击我网站的任意位置时显示一个信息框。它工作得很好,但信息框应该在 24 小时内只显示一次。所以我需要设置一个cookie,但不幸的是我不知道如何设置。
<script>
document.onclick = function (event) {
alert("Some info box");
};
</script
您可以使用 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>
你有几件事要做。
- 首先,使用
document.cookie
设置一个 cookie,它将包含从现在起 24 小时的时间戳。这应该在用户第一次点击网页时完成。此时可以显示信息框。
- 然后,对于此后的每次点击,您应该检查时间
now
是否超过了 cookie 的值(这意味着简单地检查自设置 cookie 后是否已经过了 24 小时。
- 仅当超过时,才显示信息框并将 cookie 值从
now
更新为 24 小时。
我创建了一个fiddle来演示它HERE
我想在用户单击我网站的任意位置时显示一个信息框。它工作得很好,但信息框应该在 24 小时内只显示一次。所以我需要设置一个cookie,但不幸的是我不知道如何设置。
<script>
document.onclick = function (event) {
alert("Some info box");
};
</script
您可以使用 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>
你有几件事要做。
- 首先,使用
document.cookie
设置一个 cookie,它将包含从现在起 24 小时的时间戳。这应该在用户第一次点击网页时完成。此时可以显示信息框。 - 然后,对于此后的每次点击,您应该检查时间
now
是否超过了 cookie 的值(这意味着简单地检查自设置 cookie 后是否已经过了 24 小时。 - 仅当超过时,才显示信息框并将 cookie 值从
now
更新为 24 小时。
我创建了一个fiddle来演示它HERE