JavaScript / jQuery是否不存在Cookie接受

时间:2018-11-06 19:51:41

标签: javascript jquery

我创建了一个脚本,该脚本检查cookie是否存在。如果是这样,它会使用accept按钮隐藏div元素;但是如果cookie不存在,则会显示div。单击接受按钮时,它将创建cookie。很好。

我遇到的问题是,单击进入运行脚本的页面或刷新页面时,您可以短暂看到div。真烦人。任何人都可以提出解决方案来防止这种情况吗?谢谢。

$(document).ready(function () {
    if (/cookie-policy/.test(window.location.href)) {
       $('#cookie').hide();
    }
});
window.onload = function() {
if (document.cookie.indexOf("accept=") >= 0) {
  // They've been here before.
  $('#cookie').hide();
}
else {
    $('html, body').css({overflow: 'hidden', height: 'auto'});
}
};
$(document).ready(function() {
    $('#cookie-close').click(function(cookie) {  
        document.cookie = "accept=cookies accepted; expires=Sun, 18 Dec 2050 12:00:00 UTC";
        $('html, body').css({overflow: 'auto', height: 'auto'});
        $('#cookie').fadeOut("fast");
        return false;
    });
});

1 个答案:

答案 0 :(得分:0)

我假设您的html中有这样的内容:

<div id="cookie">some content!</div>

您可以将以下内容添加到CSS:

#cookie {
    display: none;
}

<div id="cookie" style="display: none;">content here</div>

这将使div在页面加载时不可见,从而使脚本有时间运行。