【发布时间】:2018-05-24 06:14:52
【问题描述】:
我有一些内容(警报框),我需要访问者查看(关闭)一次。所以当他们看到(关闭)它时,它不应该再出现了。
我认为这可以通过 cookie(javacript 的 php)来完成?
我的 php knolegde 是基本的/普通的,但我的 javascript 几乎为零。
希望有人能帮帮我。
非常感谢。
【问题讨论】:
标签: javascript php cookies
我有一些内容(警报框),我需要访问者查看(关闭)一次。所以当他们看到(关闭)它时,它不应该再出现了。
我认为这可以通过 cookie(javacript 的 php)来完成?
我的 php knolegde 是基本的/普通的,但我的 javascript 几乎为零。
希望有人能帮帮我。
非常感谢。
【问题讨论】:
标签: javascript php cookies
您可以使用 JavaScript 设置 cookie,然后在下一页重新加载时再次使用 JavaScript 检查它。 下面是一个基本示例来演示它是如何工作的:
说,在你的 html 代码中我们有这个:
<a href="javascript:void(0)" onclick="clickMe()"> Close</a>
<div id="popup"> Popup </div>
文件末尾的 JavaScript sn-p 会是这样的:
<script>
function clickMe(){
document.cookie='popupSeen=true; expires=Thu, 1 Jan 2099 00:00:00 UTC; path=/';
document.getElementById("popup").style.display = "none";
}
~document.cookie.indexOf('popupSeen=true') ? document.getElementById("popup").style.display = "none" : false;
</script>
【讨论】:
首先我们必须检查用户是否已经看过这个 Div。这就是为什么我们必须检查是否设置了 cookie。如果设置了 cookie,我们不会显示 div。如果未设置,我们将显示 div 并设置 cookie。
If($_COOKIE["seen_div"] != 1){
setcookie("seen_div",1,time()+(3600*24));
//show div
}
时间以秒为单位。这意味着 3600 是一小时乘以 24 是一天。一天后 cookie 被删除。当然,您可以根据需要更改时间。
【讨论】:
<script> If($_COOKIE["yw_cookie_notice_seen"] != 1){ setcookie("yw_cookie_notice_seen",1,time()+(3600*24)); //show div print('<div class="uk-alert-danger uk-margin-remove" uk-alert>The message...</div>'); } </script>,但没有任何显示。谢谢