Sitefinity:如何开启/关闭sf-trckngckie Cookie?
核心逻辑
- 接受Cookie:设置有效期内的
sf-trckngckieCookie,标记为启用状态 - 拒绝Cookie:通过设置过期时间让浏览器自动清除现有
sf-trckngckieCookie
1. 绑定UI切换事件
假设UI使用复选框作为开关,先完成事件绑定与状态初始化:
// 获取开关DOM元素 const cookieToggle = document.getElementById('sf-cookie-toggle'); // 根据现有Cookie状态初始化开关 const isTrackingEnabled = document.cookie.includes('sf-trckngckie=true'); cookieToggle.checked = isTrackingEnabled; // 绑定切换事件 cookieToggle.addEventListener('change', function() { this.checked ? acceptTrackingCookie() : rejectTrackingCookie(); });
2. 接受Cookie的实现
function acceptTrackingCookie() { // 设置有效期为1年的Cookie,可根据需求调整时长 const expiry = new Date(); expiry.setFullYear(expiry.getFullYear() + 1); document.cookie = `sf-trckngckie=true; expires=${expiry.toUTCString()}; path=/; SameSite=Lax`; }
3. 拒绝Cookie的实现
function rejectTrackingCookie() { // 设置过期Cookie,触发浏览器自动清除 const expiry = new Date(); expiry.setFullYear(expiry.getFullYear() - 1); document.cookie = `sf-trckngckie=; expires=${expiry.toUTCString()}; path=/; SameSite=Lax`; }
注意事项
- 确保Cookie的
path、SameSite等属性与项目原有Cookie配置一致,避免生成重复Cookie - 若后端参与跟踪逻辑的验证,需同步调整后端对
sf-trckngckie的校验规则 - 拒绝Cookie后,页面加载时需跳过所有依赖该Cookie的跟踪初始化代码
内容的提问来源于stack exchange,提问作者Park Jang
相关产品推荐
相关产品推荐

