我正在实施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>
但似乎都不起作用。有什么想法吗?
答案 0 :(得分:-1)
您可以使用LocalStorage。它像cookie一样工作,但在我看来它有更多的好处。 LocaStorage对象只能由用户删除(就像我们擦除浏览器历史记录时一样)。要设置正常的PHP cookie,您必须设置时间。
您可以在此处详细了解:
http://www.w3schools.com/html/html5_webstorage.asp
所有主流浏览器(Chrome,IE,FireFox,Safari)都支持LocalStorage。甚至IE 8也支持LocalStorage!