【问题标题】:Check via cookie to see if a user allready seen a div通过 cookie 检查用户是否已经看到了 div
【发布时间】:2018-05-24 06:14:52
【问题描述】:

我有一些内容(警报框),我需要访问者查看(关闭)一次。所以当他们看到(关闭)它时,它不应该再出现了。

我认为这可以通过 cookie(javacript 的 php)来完成?

我的 php knolegde 是基本的/普通的,但我的 javascript 几乎为零。

希望有人能帮帮我。

非常感谢。

【问题讨论】:

    标签: javascript php cookies


    【解决方案1】:

    您可以使用 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>
    

    【讨论】:

      【解决方案2】:

      首先我们必须检查用户是否已经看过这个 Div。这就是为什么我们必须检查是否设置了 cookie。如果设置了 cookie,我们不会显示 div。如果未设置,我们将显示 div 并设置 cookie。

      If($_COOKIE["seen_div"] != 1){
           setcookie("seen_div",1,time()+(3600*24));
           //show div
      }
      

      时间以秒为单位。这意味着 3600 是一小时乘以 24 是一天。一天后 cookie 被删除。当然,您可以根据需要更改时间。

      【讨论】:

      • 我理解你的意思,所以我尝试了这个:&lt;script&gt; If($_COOKIE["yw_cookie_notice_seen"] != 1){ setcookie("yw_cookie_notice_seen",1,time()+(3600*24)); //show div print('&lt;div class="uk-alert-danger uk-margin-remove" uk-alert&gt;The message...&lt;/div&gt;'); } &lt;/script&gt;,但没有任何显示。谢谢
      • Woops 它的 PHP ofcourse 但是当我用 php 引号更改为
      • 也许你必须像这样删除 // :消息...
        '; } ?>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 2012-09-04
      • 1970-01-01
      • 2015-05-05
      • 2015-01-31
      • 1970-01-01
      相关资源
      最近更新 更多