简体   繁体   中英

Google invisible recaptcha stopped working in AU

Starting from the 18th of June, the Recaptcha on our Magento M1 project has stopped working. In recaptcha__en.js script function Array.prototype.filter returns an error this.each is not a function, because this is not an Array, it's NodeList, and it can't be filtered like this.

在此处输入图像描述

On the project side, we send a request to URL https://www.google.com/recaptcha/api.js , which returns different responses for different countries.

For AU IP (Also checked IE IP) request script src ashttps://www.gstatic.com/recaptcha/releases/FDTCuNjXhn1sV0lk31aK53uB/recaptcha__en.js

And for EU region it uses https://www.gstatic.com/recaptcha/releases/6OAif-f8nYV0qSFmq-D6Qssr/recaptcha__en.js

Please advise how to solve the problem so we could re-enable the Recaptcha. Could you also tell what could cause it from stopping working?

Same here, the problem started today at the same time in magento 1, solved with this js:

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

I have the same problem. I solved it by adding these lines of code just before you have the google ready function call. grecaptcha.ready(...

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

And the error has been removed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM