Skip to content

Mode invisible ​

Le mode invisible résout un défi depuis votre propre code, sans rien afficher sur la page. Il convient aux actions sans formulaire, comme un bouton J'aime ou une requête en arrière-plan.

js
import Cap from "cap-widget";

const cap = new Cap({ apiEndpoint: "https://cap.example.com/<site-key>/" });
const { token } = await cap.solve();

Avec le script du CDN, Cap est une variable globale et n'a pas besoin d'import.

API ​

new Cap(config, element?) ​

config.apiEndpoint est obligatoire, sauf si vous définissez CAP_CUSTOM_FETCH. Toute autre clé devient un attribut du widget, donc les attributs du widget fonctionnent aussi ici :

js
const cap = new Cap({
  apiEndpoint: "https://cap.example.com/<site-key>/",
  "data-cap-worker-count": "4",
});

Sans element, Cap crée un <cap-widget> masqué avec le retour haptique désactivé. Un widget masqué ne récupère ni ne résout rien à l'avance. Tout le travail a donc lieu quand vous appelez solve(). Passez un widget existant pour piloter celui-ci.

cap.solve() ​

Demande un défi et le résout. La promesse renvoie { success, token }.

Un échec émet un événement error et rejette la promesse avec une Error dont le code est l'un des codes d'erreur, par exemple instr_csp_blocked pour une iframe bloquée :

js
try {
  const { token } = await cap.solve();
} catch (err) {
  console.error(err.code, err.message);
}

Un appel effectué pendant une résolution en cours renvoie une promesse résolue avec undefined.

cap.token ​

Le jeton de la dernière résolution, ou null.

cap.reset() ​

Efface le jeton.

cap.addEventListener(type, listener) ​

Écoute les événements du widget :

js
cap.addEventListener("progress", (e) => {
  console.log(`${e.detail.progress}%`);
});

Clés avec évaluation du comportement ​

Les résolutions invisibles n'ont pas de clic sur un widget. Avec les clés qui évaluent le comportement, leur verdict est no_interaction. Elles échouent donc avec les clés qui bloquent et exigent une interaction. Dans la bibliothèque core, définissez requireInteraction: false dans la politique behavior de ces routes.