Überblick:
Es tut uns leid, der Antwortende auf schlechte Nachrichten zu sein, aber nach Recherchen und Debugging ist es ziemlich klar, dass es keine Möglichkeit gibt, das Design der neuen reCAPTCHA-Steuerelemente anzupassen. Die Steuerelemente sind in a eingeschlossen iframe
, wodurch die Verwendung von CSS zum Formatieren verhindert wird , und die Same-Origin-Richtlinie verhindert, dass JavaScript auf den Inhalt zugreift , und schließt sogar eine hackige Lösung aus.
Warum keine API anpassen?:
Im Gegensatz zu reCAPTCHA API Version 1.0 gibt es in API Version 2.0 keine Anpassungsoptionen . Wenn wir uns überlegen, wie diese neue API funktioniert, ist es keine Überraschung, warum.
Während die neue reCAPTCHA-API einfach klingt, steckt hinter diesem bescheidenen Kontrollkästchen ein hohes Maß an Raffinesse. CAPTCHAs verlassen sich seit langem auf die Unfähigkeit von Robotern, verzerrten Text zu lösen. Unsere kürzlich durchgeführten Untersuchungen haben jedoch gezeigt, dass die heutige Technologie der künstlichen Intelligenz selbst die schwierigste Variante von verzerrtem Text mit einer Genauigkeit von 99,8% lösen kann. Daher ist verzerrter Text für sich genommen kein verlässlicher Test mehr.
Um dem entgegenzuwirken, haben wir im vergangenen Jahr ein erweitertes Backend für die Risikoanalyse für reCAPTCHA entwickelt, das die gesamte Beschäftigung eines Benutzers mit CAPTCHA - vor, während und nach - aktiv berücksichtigt, um festzustellen, ob dieser Benutzer ein Mensch ist. Dies ermöglicht es uns, uns weniger auf die Eingabe von verzerrtem Text zu verlassen und den Benutzern eine bessere Benutzererfahrung zu bieten. Wir haben darüber in unserem Valentinstagspost Anfang dieses Jahres gesprochen.
Wenn Sie das Design der Steuerelemente direkt manipulieren könnten, könnten Sie leicht die Benutzerprofilerstellungslogik stören, die das neue reCAPTCHA ermöglicht.
Was ist mit einem benutzerdefinierten Thema?:
Jetzt bietettheme
die neue API eine Option , mit der Sie ein voreingestelltes Thema wie light
und auswählen können dark
. Derzeit gibt es jedoch keine Möglichkeit, ein benutzerdefiniertes Thema zu erstellen. Wenn wir das überprüfen iframe
, werden wir feststellen, dass der theme
Name in der Abfragezeichenfolge des src
Attributs übergeben wird. Diese URL sieht ungefähr so aus.
https://www.google.com/recaptcha/api2/anchor?...&theme=dark&...
Dieser Parameter bestimmt, welcher CSS-Klassenname für das Wrapper-Element im verwendet wird, iframe
und bestimmt das zu verwendende voreingestellte Thema.
Graben durch die minimierte Quelle, fand ich , dass es tatsächlich 4 gültige Thema Werte sind, die als die in der Dokumentation aufgeführten 2 mehr ist, aber default
und standard
sind die gleichen wie light
.
Hier sehen wir den Code, der den Klassennamen aus diesem Objekt auswählt.
Es gibt keinen Code für ein benutzerdefiniertes Thema. Wenn ein anderer theme
Wert angegeben wird, wird das standard
Thema verwendet.
Abschließend:
Derzeit gibt es keine Möglichkeit, die neuen reCAPTCHA-Elemente vollständig zu formatieren, iframe
sondern nur die Wrapper-Elemente um das Element herum können stilisiert werden. Dies wurde mit ziemlicher Sicherheit absichtlich getan, um zu verhindern, dass Benutzer die Benutzerprofilerstellungslogik brechen, die das neue Kontrollkästchen ohne Captcha ermöglicht. Es ist möglich, dass Google eine eingeschränkte API für benutzerdefinierte Designs implementiert, mit der Sie möglicherweise benutzerdefinierte Farben für vorhandene Elemente auswählen können. Ich würde jedoch nicht erwarten, dass Google das vollständige CSS-Design implementiert.