Fix captcha refreshing not working for lazy loaded captchas. allow image src to be passed to loadCaptcha when refreshing close #410

jschan
Thomas Lynch 3 years ago
parent 486955d7df
commit 11aeb8a1ac
Signed by: fatchan
GPG Key ID: 112884AA57DF40B1
  1. 6
      gulp/res/js/captcha.js

@ -67,6 +67,8 @@ class CaptchaController {
const existingImage = captcha.previousSibling.children[0];
if (existingImage) {
captcha.previousSibling.children[0].src = xhr.responseURL;
} else {
this.loadCaptcha(captcha, xhr.responseURL);
}
}
this.refreshing = false;
@ -99,7 +101,7 @@ class CaptchaController {
this.loadCaptcha(captchaField);
}
loadCaptcha(field) {
loadCaptcha(field, imgSrc = '/captcha') {
const captchaDiv = field.previousSibling;
if (captchaDiv.children.length > 0) {
return;
@ -116,7 +118,7 @@ class CaptchaController {
if (captchaType === 'text') {
field.placeholder = 'loading';
}
captchaImg.src = '/captcha';
captchaImg.src = imgSrc;
captchaImg.onload = () => {
if (captchaType === 'text') {
field.placeholder = 'Captcha text';

Loading…
Cancel
Save