Auf dieser Seite wird erläutert, wie Sie das unsichtbare reCAPTCHA auf Ihrer Webseite aktivieren und anpassen.
Zum Aufrufen des unsichtbaren reCAPTCHA haben Sie folgende Möglichkeiten:
- Wettkampf automatisch an eine Schaltfläche binden oder
- Binden Sie die Aufgabe programmatisch an eine Schaltfläche oder
- Challenge programmatisch aufrufen
Unter Konfigurationen erfahren Sie, wie Sie das unsichtbare reCAPTCHA anpassen. Beispielsweise können Sie die Sprache oder die Position des Logos angeben.
Wie Sie herausfinden, ob der Nutzer das CAPTCHA erfolgreich eingegeben hat, erfahren Sie unter Antwort des Nutzers überprüfen.
Wettkampf automatisch an eine Schaltfläche binden
Am einfachsten können Sie das unsichtbare reCAPTCHA-Widget auf Ihrer Seite verwenden, indem Sie die erforderliche JavaScript-Ressource und einige Attribute zu Ihrer HTML-Schaltfläche hinzufügen. Die erforderlichen Attribute sind ein Klassenname "g-recaptcha
", Ihr Websiteschlüssel im Attribut data-sitekey
und der Name eines JavaScript-Callbacks, mit dem die Vervollständigung des Captcha im Attribut data-callback
verarbeitet wird.
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
function onSubmit(token) {
document.getElementById("demo-form").submit();
}
</script>
</head>
<body>
<form id="demo-form" action="?" method="POST">
<button class="g-recaptcha" data-sitekey="your_site_key" data-callback="onSubmit">Submit</button>
<br/>
</form>
</body>
</html>
Das Skript muss mithilfe des HTTPS-Protokolls geladen werden und kann von jeder Stelle auf der Seite ohne Einschränkung eingefügt werden.
Binden Sie die Herausforderung programmatisch an eine Schaltfläche oder rufen Sie die Herausforderung auf.
Sie können die Bindung zurückstellen, indem Sie Ihre Onload-Callback-Funktion angeben und der JavaScript-Ressource Parameter hinzufügen. Das funktioniert genauso wie bei der normalen reCAPTCHA-Aufgabe.
Die Herausforderung programmatisch aufrufen.
Ein programmatischen Aufruf der reCAPTCHA-Überprüfung kann erreicht werden, indem die Aufgabe in einem div-Element mit dem Attribut data-size="invisible"
gerendert und „execute“ programmatisch aufgerufen wird.
Erstellen Sie ein div-Element mit
data-size="invisible"
.<div class="g-recaptcha" data-sitekey="_your_site_key_" data-callback="onSubmit" data-size="invisible"> </div>
Rufen Sie grecaptcha.execute über eine JavaScript-Methode auf.
grecaptcha.execute();
Wenn dein Callback ausgeführt wird, kannst du die
<ph type="x-smartling-placeholder">grecaptcha.render
-Methode über die JavaScript API aufrufen.
Konfiguration
JavaScript-Ressourcenparameter (api.js)
Parameter | Wert | Beschreibung |
---|---|---|
onload | Optional Der Name Ihrer Callback-Funktion, die ausgeführt werden soll, sobald alle Abhängigkeiten geladen wurden. | |
render | explicit onload |
Optional Gibt an, ob das Widget explizit gerendert werden soll. Standardmäßig ist Onload verwendet. Dadurch wird das Widget im ersten g-recaptcha -Tag, das gefunden wird, gerendert. |
hl | Siehe Sprachcodes | Optional Erzwingt das Rendern des Widgets in einer bestimmten Sprache. Erkennt automatisch die Sprache des Nutzers. |
Attribute des g-recaptcha-Tags und der Parameter „grecaptcha.render“
g-recaptcha-Tag-Attribut | Parameter „grecaptcha.render“ | Wert | Default | Beschreibung |
---|---|---|---|---|
Daten-Websiteschlüssel | sitekey | Ihren Websiteschlüssel. | ||
Datenbadge | Logo | unten rechts, unten links inline | unten rechts | Optional. Positionieren Sie das reCAPTCHA-Logo neu. 'Inline' können Sie es mit CSS positionieren. |
data-size | Größe | unsichtbar | Optional. Wird zum Erstellen eines unsichtbaren Widgets verwendet, das an ein div-Element gebunden und programmatisch ausgeführt wird. | |
data-tabindex | tabIndex | 0 | Optional. Der Tabindex der Aufgabe. Wenn andere Elemente auf Ihrer Seite tabindex verwenden, sollte sie so eingestellt werden, dass eine einfachere Navigation möglich ist. | |
data-callback | callback | Optional Der Name Ihrer Callback-Funktion, die ausgeführt wird, wenn der Benutzer eine erfolgreiche Antwort sendet. Das g-recaptcha-response -Token wird an Ihren Callback übergeben. |
||
data-expired-callback | expired-callback | Optional Der Name Ihrer Callback-Funktion, die ausgeführt wird, wenn die Antwort reCAPTCHA abläuft und der Benutzer erneut eingeben muss. | ||
data-error-callback | error-callback | Optional Der Name Ihrer Callback-Funktion, die ausgeführt wird, wenn reCAPTCHA einen Fehler feststellt (in der Regel die Netzwerkverbindung) und erst dann fortgesetzt werden kann, wenn die Verbindung wiederhergestellt ist. Wenn Sie hier eine Funktion angeben, müssen Sie den Nutzer informieren. | ||
isoliert | falsch | Optional. Für Plug-in-Inhaber, vorhandene reCAPTCHA-Installationen auf einer Seite nicht zu beeinträchtigen. Bei Einstellung auf „true“ ist diese reCAPTCHA-Instanz Teil eines separaten ID-Bereichs. |
JavaScript API
Method | Beschreibung |
---|---|
grecaptcha.render( container,
Parameter
Vererbt
)
|
Rendert den Container als reCAPTCHA-Widget und gibt die ID des neu erstellten Widgets zurück. Container Das HTML-Element, das das reCAPTCHA-Widget darstellt Geben Sie entweder die ID des Containers (String) oder das DOM-Element selbst an. Parameter Ein Objekt, das Parameter als Schlüssel/Wert-Paare enthält, z. B. {„sitekey“: „your_site_key„, „theme“: „light“}. Siehe „grecaptcha.render“-Parameter übernehmen Verwenden Sie vorhandene data-*-Attribute für das Element, wenn der entsprechende Parameter nicht angegeben ist. Die Parameter haben Vorrang vor den Attributen. |
grecaptcha.execute( opt_widget_id
)
|
Rufen Sie die reCAPTCHA-Prüfung programmatisch auf. Wird verwendet, wenn sich das unsichtbare reCAPTCHA auf einem div-Element befindet
statt auf eine Schaltfläche. opt_widget_id Optionale Widget-ID. Falls kein Wert angegeben ist, wird standardmäßig das erste Widget erstellt. |
grecaptcha.reset( opt_widget_id
)
|
Setzt das reCAPTCHA-Widget zurück. opt_widget_id Optionale Widget-ID. Falls kein Wert angegeben ist, wird standardmäßig das erste Widget erstellt. |
grecaptcha.getResponse( opt_widget_id
)
|
Ruft die Antwort für das reCAPTCHA-Widget ab. opt_widget_id Optionale Widget-ID. Falls kein Wert angegeben ist, wird standardmäßig das erste Widget erstellt. |
Beispiele
Explizites Rendern nach einem Onload-callback
<html>
<head>
<title>reCAPTCHA demo: Explicit render after an onload callback</title>
<script>
var onSubmit = function(token) {
console.log('success!');
};
var onloadCallback = function() {
grecaptcha.render('submit', {
'sitekey' : 'your_site_key',
'callback' : onSubmit
});
};
</script>
</head>
<body>
<form action="?" method="POST">
<input id="submit" type="submit" value="Submit">
</form>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
</body>
</html>
Unsichtbare reCAPTCHA-Abfrage nach clientseitiger Validierung aufrufen.
<html>
<head>
<script>
function onSubmit(token) {
alert('thanks ' + document.getElementById('field').value);
}
function validate(event) {
event.preventDefault();
if (!document.getElementById('field').value) {
alert("You must add text to the required field");
} else {
grecaptcha.execute();
}
}
function onload() {
var element = document.getElementById('submit');
element.onclick = validate;
}
</script>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
<form>
Name: (required) <input id="field" name="field">
<div id="recaptcha" class="g-recaptcha"
data-sitekey="_your_site_key_"
data-callback="onSubmit"
data-size="invisible"></div>
<button id="submit">submit</button>
</form>
<script>onload();</script>
</body>
</html>