2024年3月28日更新后Recaptcha无法显示的问题求助
reCAPTCHA 2024年3月28日更新后"Ay is not a function"报错解决方案
2024年3月28日reCAPTCHA完成版本更新后,大量开发者反馈控制台出现如下报错:
recaptcha__en.js:600 Uncaught TypeError: Ay is not a function at recaptcha__en.js:600:139 at Array.<anonymous> (recaptcha__en.js:164:51) at recaptcha__en.js:598:365 at recaptcha__en.js:1035:83
临时解决方案
- 指定稳定版本加载脚本:将reCAPTCHA的加载链接替换为固定稳定版本,避免自动拉取存在问题的最新包。例如使用v2的稳定版本脚本:
若使用v3,可指定对应稳定版本号。<script src="https://www.google.com/recaptcha/api.js?v=2.0.0"></script> - 显式初始化并禁用自动更新:加载脚本时添加
&render=explicit参数,配合手动初始化逻辑,同时锁定版本号,防止脚本自动更新:<script src="https://www.google.com/recaptcha/api.js?v=2.0.0&render=explicit"></script> <script> function onloadCallback() { grecaptcha.render('your-recaptcha-element-id', { 'sitekey': 'your-site-key' }); } </script> - 临时屏蔽报错(不推荐长期使用):如果报错未影响reCAPTCHA功能,可通过全局错误捕获暂时屏蔽该报错:
window.addEventListener('error', (event) => { if (event.message.includes('Ay is not a function') && event.filename.includes('recaptcha__en.js')) { event.preventDefault(); } });
官方修复进展
Google针对此类广泛出现的CDN脚本问题,通常会在数小时内推出修复补丁。建议:
- 清除本地及服务器的CDN缓存,重新加载reCAPTCHA脚本,确认是否已修复;
- 关注reCAPTCHA官方状态通知,获取修复更新信息。
内容的提问来源于stack exchange,提问作者Diego Camilo Silva Tellez
相关产品推荐
相关产品推荐

