我想设置一个横幅,要求允许在我的网站上存储cookie(因为GDPR)。我试过like this:HTML:
{% block cookies %}
{% if cookies_check %}
{% else %}
<div class="fixed-bottom p-4" id="cookie-consent-container">
<div class="toast bg-dark text-white w-100 mw-100" role="alert">
<div class="toast-body p-4 d-flex flex-column">
<h4>Cookie Warning</h4>
<p>
This website stores data such as cookies to enable site functionality including analytics and personalization. By using this website, you automatically accept that we use cookies.
</p>
<div class="ml-auto">
<button type="button" class="btn btn-outline-light mr-3" id="btnDeny">
Deny
</button>
<button type="button" class="btn btn-light" id="btnAccept">
Accept
</button>
</div>
</div>
</div>
</div>
<script>
var fn = function () {
document.cookie = "cookie_consent=true";
document.getElementById('cookie-consent-container').hidden = true;
};
document.getElementById('btnAccept').onclick = fn;
</script>
{% endif %}
{% endblock cookies %}和jinja2
@app.context_processor
def inject_template_scope():
injections = dict()
print(injections)
def cookies_check():
value = request.cookies.get('cookie_consent')
print(value)
return value == 'true'
injections.update(cookies_check=cookies_check)
return injectionsprint是用于调试的。问题是列表总是空的,横幅永远不会显示。我应该怎么做才能让它工作呢?这是否意味着该站点一开始就没有生成任何cookie?如果是这样,我如何才能在加载站点时添加cookie?
发布于 2021-06-08 15:05:10
可以使用document.cookie添加、读取和删除cookie
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";默认情况下,关闭浏览器后删除cookie。
https://stackoverflow.com/questions/67882506
复制相似问题