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

如何判断用户是否已接受Adsense GDPR授权同意?

判断Adsense GDPR授权同意状态的正确方式

你原代码的问题在于页面加载时就执行检查,但此时GDPR授权流程还没完成(用户还没操作弹窗,或者缓存还没读取),所以adsbygoogle.loaded无法反映真实的授权状态。可以通过以下两种方式解决:

方法一:监听授权状态变更事件

AdSense提供了adsense.user_consent事件,会在用户完成授权操作(同意/拒绝)或读取到缓存的授权状态时触发,能实时获取状态:

document.addEventListener('adsense.user_consent', function(event) {
  if (event.detail.consent === 'ACCEPT') {
    console.log('用户已接受GDPR授权');
  } else {
    console.log('用户未接受GDPR授权');
  }
});

方法二:在AdSense初始化回调中检查

通过adsbygoogle.push的onReady回调,在AdSense脚本完成初始化、处理完授权逻辑后再判断状态:

adsbygoogle.push({
  onReady: function() {
    if (adsbygoogle.loaded) {
      console.log('用户已接受GDPR授权');
    } else {
      console.log('用户未接受GDPR授权');
    }
  }
});

注意事项

  • 不要在页面加载初期直接检查adsbygoogle.loaded,此时授权状态尚未确定;
  • 如果用户之前已有授权缓存,上述方法也能正确读取缓存中的状态。

内容的提问来源于stack exchange,提问作者enzo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:03:36