我在使用Google Recaptcha时遇到一个非常奇怪的问题,该问题自10月中旬开始出现。我可以确认Recaptcha v2和更新的v3都在发生这种情况。它主要发生在移动的三星浏览器上,但在移动设备上的chrome,safari和Firefox上运行良好。
这是我用于v2的前端代码
<head>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form action="" method="POST">
<div class="g-recaptcha" data-sitekey="SITE_KEY"></div>
<input type="submit" name="submit" value="Continue">
</form>
</body>
我没有发布服务器端验证,因为甚至在此之前就已经出现了问题。在Samsung Mobile Browser中,只要用此代码加载页面,我就可以看到recaptcha复选框可以很好地加载,但是当我尝试勾选/选中该复选框时,它将不起作用。加载中的蓝色圆圈持续旋转,此后没有任何反应。同样的东西在移动Chrome,Safari和Firefox上也能正常工作,并且确实变成了绿色的选中标记。
当我发现当我在域名中使用https而不是http时(即使我没有SSL证书或真实的HTTPS),我却对此进行了尝试。三星移动浏览器中的此问题。在chrome和其他浏览器中,即使没有HTTPS,它也可以正常工作。
更新的Recaptcha v3也会发生相同的问题。在这种情况下,它不会生成令牌,但是在使用HTTPS时,它确实可以正常工作。
由于某种原因,我无法在当前页面上获取或使用HTTPS。我正在寻找可以解决问题的解决方案,因此Recaptcha也可以在Samsung Mobile Browser上开始工作。