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

Google Sites网站中reCAPTCHA V2复选框失效问题排查求助

reCAPTCHA V2在Google Sites失效的原因及解决建议

失效原因

  • Google Sites内容安全策略限制:Google Sites内置严格的CSP(内容安全策略),会拦截未被官方允许的第三方脚本自动执行。自动渲染模式的reCAPTCHA需要加载外部资源并执行初始化脚本,大概率会被Google Sites的沙箱机制或CSP规则阻止。
  • 自动渲染触发时机不兼容:自动渲染依赖页面加载时识别带g-recaptcha类的DOM元素,但Google Sites的页面渲染流程和普通HTML站点不同,嵌入元素可能在reCAPTCHA脚本加载完成后才被插入DOM,导致自动渲染逻辑找不到目标元素。
  • 域名匹配问题:从你提供的密钥截图来看,需确认reCAPTCHA后台配置的允许域名是否完全匹配当前Google Sites的访问域名(包括是否带www、是否为自定义域名而非sites.google.com前缀的域名),域名不匹配会直接导致reCAPTCHA无法加载。

解决建议

1. 改用显式渲染模式

放弃自动渲染,通过手动调用API初始化reCAPTCHA,适配Google Sites的DOM渲染流程:

<!-- 添加空容器用于渲染reCAPTCHA -->
<div id="recaptcha-container"></div>

<!-- 加载reCAPTCHA脚本,指定显式渲染和回调函数 -->
<script src="https://www.google.com/recaptcha/api.js?onload=initRecaptcha&render=explicit" async defer></script>

<!-- 定义初始化回调函数 -->
<script>
function initRecaptcha() {
  grecaptcha.render('recaptcha-container', {
    'sitekey': '你的Site Key' // 替换为截图中的Site Key
  });
}
</script>

2. 验证域名配置

登录Google reCAPTCHA管理后台,确认已将filmwrench.com和www.filmwrench.com(如果使用)添加到允许的域名列表中,确保访问站点的域名与配置完全一致(大小写、前缀都要匹配)。

3. 调整Google Sites嵌入设置

检查Google Sites中嵌入元素的设置,确保未启用严格的沙箱限制。如果Google Sites提供嵌入权限选项,选择允许外部脚本执行的模式;若原生嵌入限制过多,可尝试将包含reCAPTCHA的页面部署到外部服务器,再通过Google Sites的iframe嵌入该页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 13:18:01