检测用户何时离开页面并写入cookie

时间:2014-09-19 14:48:11

标签: javascript jquery cookies

我正在实施Cookie横幅,并且需要在用户看到横幅后获得推断同意。因此,当用户开始浏览网站以表示他们已经看过cookie横幅时,我正在尝试编写cookie。我尝试过使用beforeunload和unload,但似乎都没有做任何事情。

我使用过的最新代码是:

<script>
                    $(window).unload(function () {
                        jQuery.post("/set-cookie-preference", { cookiePreference: 3 },
                       function (data) {
                           //document.location.reload();
                       });
                    });
                </script>

我也尝试过:

<script type="text/javascript">
                    function closeIt() {
                        jQuery.post("/set-cookie-preference", { cookiePreference: 3 },
                           function (data) {
                               //document.location.reload();
                           });
                    }
                    window.onbeforeunload = closeIt;
                </script>

但似乎都不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用LocalStorage。它像cookie一样工作,但在我看来它有更多的好处。 LocaStorage对象只能由用户删除(就像我们擦除浏览器历史记录时一样)。要设置正常的PHP cookie,您必须设置时间。

您可以在此处详细了解:

http://www.w3schools.com/html/html5_webstorage.asp

所有主流浏览器(Chrome,IE,FireFox,Safari)都支持LocalStorage。甚至IE 8也支持LocalStorage!