Add customizable captcha verified name attribute.

This commit is contained in:
2023-12-02 21:27:06 +06:00
parent ae7e715142
commit 6363747fa1
4 changed files with 17 additions and 11 deletions

View File

@@ -6,7 +6,7 @@
<title>Title</title>
</head>
<body>
<div class="captcha-service-kor-elf" data-domain="" data-static-path="./" data-token=""></div>
<div class="captcha-service-kor-elf" data-domain="" data-static-path="./" data-token="" data-captcha-verified-name="captcha-verified"></div>
<script src="script.js" async></script>
</body>
</html>

View File

@@ -7,6 +7,7 @@
const domain = element.getAttribute('data-domain');
const token = element.getAttribute('data-token');
const staticPath = element.getAttribute('data-static-path');
const captchaVerifiedName = element.getAttribute('data-captcha-verified-name');
let windowCaptcha = null;
@@ -21,14 +22,14 @@
shadow.appendChild(button);
button.addEventListener('click', function () {
if (windowCaptcha === null) {
windowCaptcha = createWindowCaptcha(shadow, domain, token);
windowCaptcha = createWindowCaptcha(shadow, domain, token, captchaVerifiedName);
}
windowCaptcha.style.display = 'block';
actionGetCaptcha(windowCaptcha, domain, token, shadow);
actionGetCaptcha(windowCaptcha, domain, token, shadow, captchaVerifiedName);
});
});
function createWindowCaptcha (shadow, domain, token) {
function createWindowCaptcha (shadow, domain, token, captchaVerifiedName) {
const windowCaptcha = document.createElement('div');
windowCaptcha.classList.add('window-captcha');
windowCaptcha.innerHTML = `<div class="window-captcha__content">
@@ -49,7 +50,7 @@
});
windowCaptcha.querySelector('button.window-captcha__reload').addEventListener('click', function () {
actionGetCaptcha(windowCaptcha, domain, token, shadow);
actionGetCaptcha(windowCaptcha, domain, token, shadow, captchaVerifiedName);
});
return windowCaptcha;
@@ -60,7 +61,7 @@
windowCaptcha.style.display = 'none';
}
function actionGetCaptcha(windowCaptcha, domain, token, shadow)
function actionGetCaptcha(windowCaptcha, domain, token, shadow, captchaVerifiedName)
{
let bodyBlock = windowCaptcha.querySelector('div.window-captcha__content__body');
if (bodyBlock.querySelectorAll('.loading').length > 0) {
@@ -116,7 +117,7 @@
});
bodyBlock.querySelector('.window-captcha__content__body__button').addEventListener('click', function () {
checkingCaptcha(bodyBlock, domain, token, shadow);
checkingCaptcha(bodyBlock, domain, token, shadow, captchaVerifiedName);
});
})
.catch(error => {
@@ -124,7 +125,7 @@
});
}
function checkingCaptcha (bodyBlock, domain, token, shadow) {
function checkingCaptcha (bodyBlock, domain, token, shadow, captchaVerifiedName) {
let button = bodyBlock.querySelector('button.window-captcha__content__body__button');
if (button.querySelectorAll('.loading').length > 0) {
return null;
@@ -178,7 +179,7 @@
}
shadow.querySelector('button.button-open-window-captcha').remove();
let captchaVerified = document.createElement('div');
captchaVerified.innerHTML = `<span class="captcha-verified">Ура!!! Проверку прошли!</span><input type="hidden" name="captcha-verified" value="${ data.captcha_key }">`;
captchaVerified.innerHTML = `<span class="captcha-verified">Ура!!! Проверку прошли!</span><input type="hidden" name="${ captchaVerifiedName }" value="${ data.captcha_key }">`;
shadow.appendChild(captchaVerified);
shadow.querySelector('.window-captcha').remove();
})