Umbraco 表单版本 12.1.1 不适用于 Google reCAPTCHA V3

问题描述 投票:0回答:1

我尝试将 Google reCAPTCHA 版本 3 与 Umbraco 表单版本 12.1.1 一起使用,但在渲染表单时,当我尝试提交表单时,我也看不到任何与验证码相关的渲染内容。它不允许提交表单并保持相同的表单视图。任何遇到此问题的人或任何人都可以帮助我解决此问题。

umbraco recaptcha-v3 umbraco-contour umbraco-forms
1个回答
0
投票

加载我添加 Umbraco 表单的页面时,我注意到浏览器控制台上出现错误。

Uncaught TypeError: Cannot read properties of undefined (reading 'ready')
    at HTMLDocument.<anonymous>

该错误表明 reCAPTCHA 脚本存在问题,无法正确加载。经过仔细检查,发现 https://www.google.com/recaptcha/api.js 脚本在表单提交事件之前并未加载。

我修改了实现,以确保在提交表单之前加载 reCAPTCHA 脚本。通过合并 reCAPTCHA 脚本的条件加载,我确保脚本标记动态获取必要的内容,如下所示

@{
    var siteKey = Configuration.GetSection("Umbraco").GetSection("Forms").GetSection("FieldTypes").GetSection("Recaptcha3")["SiteKey"];
    if (!string.IsNullOrEmpty(siteKey))
    {
        var recapctchaJs = String.Format("https://www.google.com/recaptcha/api.js?render={0}", siteKey);
        <script src="@recapctchaJs"></script>
    }
}

现在问题已解决,并且按预期工作。

https://our.umbraco.com/forum/using-umbraco-and-getting-started/113175-umbraco-form-version-1211-not-working-with-google-recaptcha-v3

© www.soinside.com 2019 - 2024. All rights reserved.