Saltar al contenido principal

JavaScript Callbacks

El widget de MTCaptcha admite los siguientes callbacks:

CallbackDescripción
jsloaded-callbackLa biblioteca JavaScript de MTCaptcha se ha cargado.
rendered-callbackEl widget de MTCaptcha ha sido renderizado (hecho visible). Esta llamada puede no ejecutarse si el captcha permanece invisible mediante Low Friction o la lista blanca de IPs en la configuración del sitio.
verified-callbackEl usuario ha sido verificado. Un verifiedToken siempre estará disponible en este callback.
verifyexpired-callbackEl último verifiedToken ha expirado.
error-callbackHa ocurrido algún tipo de error, como una clave de sitio incorrecta o pérdida de conexión a internet.

Para habilitar los callbacks, utiliza el siguiente patrón y los parámetros de configuración.

<script>
function mt_jsloadedcb()
{
console.log("mt_jsloadedcb()");
}

function mt_renderedcb(state)
{
console.log("mt_renderedcb(state)");
console.log("state => "+JSON.stringify(state));
}
function mt_verifiedcb(state)
{
console.log("mt_verifiedcb(state)");
console.log("state => "+JSON.stringify(state));
}
function mt_verifyexpiredcb(state)
{
console.log("mt_verifyexpiredcb(state)");
console.log("state => "+JSON.stringify(state));
}
function mt_errorcb(state)
{
console.log("mt_errorcb(state)");
console.log("state => "+JSON.stringify(state));
}
</script>

<script>
var mtcaptchaConfig = {
"sitekey": "<YOUR SITEKEY>",

"jsloaded-callback": "mt_jsloadedcb",
"rendered-callback": "mt_renderedcb",
"verified-callback": "mt_verifiedcb",
"verifyexpired-callback": "mt_verifyexpiredcb",
"error-callback": "mt_errorcb"
};
...
</script>
‍```
Los parámetros de configuración de callbacks también admiten funciones JavaScript como valor. Por ejemplo:

```html
<script>
var mtcb = {};
mtcb.jsloaded = function(){
console.log("mtcb.jsloaded()");
}
</script>

<script>
var mtcaptchaConfig = {
"sitekey": "<YOUR SITEKEY>",
"jsloaded-callback": mtcb.jsloaded
};
...
</script>

El argumento y campos del estado del Callback

Todos los callbacks que contienen un argumento state tienen las siguientes propiedades. Por ejemplo:

<script>
function mt_renderedcb(state)
{
console.log("state => "+JSON.stringify(state));
}
</script>

/*
output in console:

state =>
{
"element": <element>,
"domID":"mtcaptcha",
"verifiedToken":null,
"isVerified":false,
"isVisible": true,
"statusCode":2200,
"statusDesc":"Captcha rendered"
}
*/

Campos del argumento de estado del callback explicados:

Campo de EstadoDescripción
elementEl elemento DOM <div> ancla de MTCaptcha.
domIDEl ID del DOM del elemento <div> ancla de MTCaptcha.
verifiedTokenLa cadena verifiedToken. Será null si no ha sido verificado.
isVerifiedBooleano que indica si el captcha está verificado actualmente. Si es true, el campo verifiedToken contendrá la cadena del token.
isVisibleBooleano que indica si el captcha es visible actualmente. Consulta la Guía para Desarrolladores - Captcha Invisible para saber más sobre la configuración de captchas invisibles.
statusCodeEl estado actual del captcha (código).
statusDescLa descripción del estado actual del captcha.