Google invisible recaptcha 在澳大利亚停止工作

问题描述

从 6 月 18 日开始,我们 Magento M1 项目上的 Recaptcha 已停止工作。 在recaptcha__en.js脚本函数Array.prototype.filter返回错误this.each不是函数,因为这不是Array,是NodeList,不能像这样过滤。 enter image description here

在项目方面,我们向 URL https://www.google.com/recaptcha/api.js 发送请求,该请求针对不同的国家/地区返回不同的响应。

对于 AU IP(也检查 IE IP)请求脚本 src as https://www.gstatic.com/recaptcha/releases/FDTCuNjXhn1sV0lk31aK53uB/recaptcha__en.js

对于欧盟地区,它使用 https://www.gstatic.com/recaptcha/releases/6OAif-f8nYV0qSFmq-D6Qssr/recaptcha__en.js

请告知如何解决问题,以便我们重新启用 Recaptcha。您能否还说是什么原因导致它停止工作?

解决方法

这里也一样,今天同时在magento 1中出现了这个问题,用这个js解决了:

if ('NodeList' in window) {
    if (!NodeList.prototype.each && NodeList.prototype.forEach) {
        NodeList.prototype.each = NodeList.prototype.forEach;
    }
}
,

我也有同样的问题。我通过在您调用 google ready 函数之前添加这些代码行来解决它。 grecaptcha.ready(...

//fix google recaptcha
if ('NodeList' in window) {
    if (!NodeList.prototype.each && NodeList.prototype.forEach) {
        NodeList.prototype.each = NodeList.prototype.forEach;
    }
}

并且错误已被删除。

,

谢谢。它在 magento 1.5 上完美运行。我在 app.js 的“function startValidation()”的第一行插入这个。在我从根文件夹的“/vendor/.../Recaptcha/view/web/frontend/js/googleRecaptcha/src/”中播放“npm i”和“npm run build”之后,Voilà,太棒了。问候!!!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...