我最近开始使用 Google 的 Recaptcha 新方法 - 他们新的 Invisible Recaptcha。我意识到这个版本的实现有点不同,因为您将recaptcha 属性直接附加到您的提交按钮,然后调用google 的recaptcha api 并开始验证过程。我所有这些工作都很好,但我遇到的一个主要问题是“受recaptcha 保护”徽章定位。
将 recaptcha 配置添加到我的提交按钮后,我开始在屏幕右侧看到徽章。根据其他网站的说法,这个徽章应该只是一个方形的 recaptcha 标志,直到它被悬停,然后它应该滑出成为我最初在我的网站上看到的大矩形。
这是我在实施不可见的recaptcha 后在我的网站上看到的图像。
这是包含 recaptcha 属性的提交按钮代码:
<button class="btn btn-primary btn-block g-recaptcha" data-sitekey="key"
data-callback="submitsecure" data-badge="bottomright" type="submit">Get Started</button>
注意:其他data-badge
选项如inline
和bottomleft
会导致相同的定位问题。
包含按钮的表单代码:
<form action="processjoin.php" method="post" id="signupform" style="padding-top:10px;padding-bottom:10px;max-width:50%;">
<h2 class="sr-only">Login Form</h2>
<div></div>
<div class="illustration"><i class="icon ion-ios-pulse-strong"></i>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" name="name" placeholder="Your Name" class="form-control" id="name" />
</div>
<div class="form-group">
<input type="text" name="username" placeholder="Username" class="form-control" id="username" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<input type="email" name="email" placeholder="Email" class="form-control" id="email" />
</div>
<div class="form-group">
<input type="password" name="password" placeholder="Password" class="form-control" id="password" />
</div>
</div>
</div>
<div class="form-group">
<button class="btn btn-primary btn-block g-recaptcha" data-sitekey="6LfdMhkUAAAAAHl-LXZm_gPP1g-UX0aWt8sMR4uW" data-callback="submitsecure" data-badge="bottomright" type="submit">Get Started</button>
</div>
<a href="#" class="forgot">
<div></div>Already have an account? Sign in.</a>
</div>
</form>
我遇到了这个 recaptcha 徽章的两个问题:
- 徽章在其边界框/边框类型的东西之外出现故障
- 在悬停之前,它也不会部分位于屏幕外,就像它应该的那样。在我用鼠标以任何方式与它交互之前,我看到了整个矩形。我应该看到方形徽标,直到我将鼠标悬停在它上面,它滑出成为完整的矩形。
基本上,我需要弄清楚如何正确定位它,以便它像预期的那样从屏幕外滑入,并正确包含在其边框内。
谷歌 Chrome 开发者工具告诉我,这些是徽章 div 的当前属性,在加载窗口时生成:
我非常感谢您提供的任何帮助!如果我认为需要徽章的想法有误,请纠正我,我将使用 CSS 强制将其删除,但是,我担心这可能会扰乱验证码验证过程并违反 Google 的政策。