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

如何调整Google reCAPTCHA验证弹窗图片尺寸?

解决reCAPTCHA弹窗滚动条及显示不全问题

针对你的情况(登录代码在iframe内,reCAPTCHA弹窗出现滚动条、图片无法完整显示),可以尝试以下几种方案:

1. 调整iframe基础属性

确保承载登录页面的iframe有足够空间并允许弹窗交互:

  • 给iframe设置合适的尺寸,避免空间挤压弹窗:
<iframe src="你的登录页面地址" width="100%" height="600px" frameborder="0"></iframe>
  • 检查sandbox属性,确保包含必要的权限值(如果使用了该属性):
<iframe src="你的登录页面地址" sandbox="allow-popups allow-same-origin allow-scripts" width="100%" height="600px"></iframe>

2. 用CSS强制覆盖弹窗样式

在iframe内部的登录页面中添加以下CSS,消除弹窗滚动条并强制适配尺寸:

/* 调整reCAPTCHA弹窗外层容器 */
.grecaptcha-bubble {
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
}

/* 调整弹窗内容容器 */
.grecaptcha-bubble-content-wrapper {
    overflow: visible !important;
}

/* 针对v3版本弹窗的额外调整 */
.g-recaptcha-modal {
    overflow: hidden !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
}

3. 使用显式渲染模式控制reCAPTCHA

通过手动渲染的方式避免iframe环境下的样式冲突:

  • 加载脚本时添加render=explicit参数:
<script src="https://www.google.com/recaptcha/api.js?render=explicit" async defer></script>
  • 页面加载完成后手动初始化reCAPTCHA:
window.onload = function() {
    grecaptcha.render('your-recaptcha-container', {
        sitekey: '${siteKey}',
        callback: call1,
        expiredCallback: call2,
        size: 'normal'
    });
};

4. 检查父页面样式限制

确保承载iframe的父页面没有限制弹窗显示的样式,比如:

body {
    overflow: visible !important;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 03:12:39