You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sitefinity:如何开启/关闭sf-trckngckie Cookie?

实现sf-trckngckie Cookie的开关控制

核心逻辑

  • 接受Cookie:设置有效期内的sf-trckngckie Cookie,标记为启用状态
  • 拒绝Cookie:通过设置过期时间让浏览器自动清除现有sf-trckngckie Cookie

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 14:45:33