Je n'ai pas eu beaucoup de succès pour trouver comment styliser le nouveau recaptcha (v2) de Google. Le but final est de le rendre réactif, mais j'ai du mal à appliquer le style même pour des choses simples comme la largeur.
Leur documentation API ne semble pas donner de détails sur la façon de contrôler le style autre que le paramètre de thème , et les solutions CSS et JavaScript simples n'ont pas fonctionné pour moi.
Fondamentalement, je dois pouvoir appliquer CSS à la nouvelle version de Google de reCaptcha. L'utilisation de JavaScript est acceptable.
javascript
css
captcha
recaptcha
jhawes
la source
la source
Réponses:
Aperçu:
Désolé d'être le répondeur des mauvaises nouvelles, mais après recherche et débogage, il est assez clair qu'il n'y a aucun moyen de personnaliser le style des nouveaux contrôles reCAPTCHA. Les contrôles sont enveloppés dans un
iframe
, ce qui empêche l'utilisation de CSS pour les styliser, et la politique de même origine empêche JavaScript d'accéder au contenu, excluant même une solution piratée.Pourquoi pas d'API de personnalisation?:
Contrairement à l' API reCAPTCHA version 1.0 , il n'y a pas d'options de personnalisation dans l' API version 2.0 . Si nous considérons le fonctionnement de cette nouvelle API, il n'est pas surprenant de savoir pourquoi.
Extrait de Êtes-vous un robot? Présentation de «No CAPTCHA reCAPTCHA» :
Si vous pouviez manipuler directement le style des éléments de contrôle, vous pourriez facilement interférer avec la logique de profilage utilisateur qui rend possible le nouveau reCAPTCHA.
Qu'en est-il d'un thème personnalisé?:
Maintenant, la nouvelle API offre une
theme
option , par laquelle vous pouvez choisir un thème prédéfini tel quelight
etdark
. Cependant, il n'existe actuellement aucun moyen de créer un thème personnalisé. Si nous inspectons leiframe
, nous trouverons que letheme
nom est passé dans la chaîne de requête de l'src
attribut. Cette URL ressemble à ce qui suit.Ce paramètre détermine le nom de classe CSS utilisé sur l'élément wrapper dans
iframe
et détermine le thème prédéfini à utiliser.En fouillant dans la source minified, je trouve qu'il ya effectivement 4 valeurs thématiques valides, ce qui est plus que les 2 figurant dans la documentation, mais
default
etstandard
sont les mêmes quelight
.Nous pouvons voir le code qui sélectionne le nom de classe de cet objet ici.
Il n'y a pas de code pour un thème personnalisé, et si une autre
theme
valeur est spécifiée, il utilisera lestandard
thème.En conclusion:
À l'heure actuelle, il n'y a aucun moyen de
iframe
styliser complètement les nouveaux éléments reCAPTCHA, seuls les éléments enveloppants autour du peuvent être stylisés. Cela a été presque certainement fait intentionnellement, pour empêcher les utilisateurs de casser la logique de profilage de l'utilisateur qui rend possible la nouvelle case à cocher sans captcha. Il est possible que Google puisse implémenter une API de thème personnalisé limitée, vous permettant peut-être de choisir des couleurs personnalisées pour les éléments existants, mais je ne m'attendrais pas à ce que Google implémente un style CSS complet.la source
Comme les gars mentionnés ci-dessus, il n'y a aucun moyen de guichet automatique. mais toujours si quelqu'un est intéressé, alors en ajoutant seulement deux lignes, vous pouvez au moins le rendre raisonnable, s'il se brise sur n'importe quel écran. vous pouvez attribuer une valeur différente dans la requête @media.
J'espère que cela aide n'importe qui :-).
la source
Malheureusement, nous ne pouvons pas styler reCaptcha v2, mais il est possible de lui donner un meilleur aspect, voici le code:
Cliquez ici pour un aperçu
la source
Ajoutez une propriété de taille de données à l'élément google recaptcha et rendez-le égal à "compact" dans le cas d'un mobile.
Référez-vous: google recaptcha docs
la source
J'utilise l'astuce ci-dessous pour le rendre réactif et supprimer les bordures. ces astuces peuvent masquer le message / erreur de recaptcha.
Ce style est pour rtl lang mais vous pouvez le changer facilement.
la source
Ce que vous pouvez faire est de cacher le contrôle ReCaptcha derrière un div. Ensuite, faites votre style sur ce div. Et définissez le css "pointer-events: none" dessus, afin que vous puissiez cliquer sur le div ( cliquez sur un DIV vers les éléments sous-jacents ).
La case à cocher doit être dans un endroit où l'utilisateur clique.
la source
Vous pouvez recréer recaptcha, l'envelopper dans un conteneur et ne laisser la case à cocher visible. Mon principal problème était que je ne pouvais pas prendre toute la largeur, alors maintenant, elle s'étend à la largeur du conteneur. Le seul problème est l'expiration, vous pouvez voir un film mais dès que cela arrive, je le réinitialise.
Voir cette démo http://codepen.io/alejandrolechuga/pen/YpmOJX
la source
Génial! Maintenant, voici le style disponible pour reCaptcha .. J'utilise juste un style en ligne comme:
tout ce que vous voulez faire, petite personnalisation dans un style en ligne ...
J'espère que cela vous aidera !!
la source
Il suffit d'ajouter une solution hack-ish pour la rendre réactive.
Enveloppez le recaptcha dans un div supplémentaire:
Ajoutez des styles. Cela suppose le thème sombre.
Cela donne ce qui suit:
Il sera maintenant redimensionné horizontalement et n'a pas de bordure. Le logo recaptcha serait coupé à droite, donc je le cache avec une bordure à droite. Cela masque également les liens de confidentialité et de conditions, vous pouvez donc les rajouter.
J'ai essayé de définir une hauteur sur l'élément wrapper, puis de centrer verticalement le recaptcha pour réduire la hauteur. Malheureusement, toute combinaison de débordement: caché et une hauteur plus petite semble tuer l'iframe.
la source
dans la V2.0, ce n'est pas possible. L'iframe bloque tout style hors de cela. Il est difficile d'ajouter un thème personnalisé au lieu du thème sombre ou clair.
la source
Avec l'intégration du reCAPTCHA invisible, vous pouvez effectuer les opérations suivantes:
la source
Au cas où quelqu'un aurait du mal avec la recaptcha du formulaire de contact 7 (wordpress), voici une solution qui fonctionne pour moi
la source
Tard à la fête, mais peut-être que ma solution aidera quelqu'un.
Je n'ai trouvé aucune solution qui fonctionne sur un site Web réactif lorsque la fenêtre change ou que la mise en page est fluide.
J'ai donc créé un script jQuery pour django-cms qui s'adapte dynamiquement à une fenêtre changeante. Je vais mettre à jour cette réponse dès que j'aurai besoin d'une variante moderne de celle-ci, plus modulaire et sans dépendance jQuery.
html
css
js
la source
Si quelqu'un est toujours intéressé, il existe une simple bibliothèque javascript (sans dépendance jQuery), nommée recaptcha personnalisé. Il vous permet de personnaliser le bouton avec css et d'implémenter certains événements js (prêt / vérifié). L'idée est de rendre le recaptcha par défaut "invisible" et de placer un bouton dessus. Changez simplement l'identifiant du recaptcha et c'est tout.
Voir https://azentreprise.org/read.php?id=1 pour plus d'informations.
la source
J'ajoute simplement ce genre de solution / solution rapide pour ne pas se perdre en cas de lien cassé.
Lien vers cette solution "Vous voulez ajouter un lien Comment redimensionner le Google noCAPTCHA reCAPTCHA | The Geek Goddess" a été fourni par Vikram Singh Saini et décrit simplement que vous pouvez utiliser le CSS en ligne pour imposer le cadrage de l'iframe.
la source
Vous pouvez également choisir entre un thème ReCaptcha sombre ou clair . J'ai utilisé ceci dans l'une de mes applications Angular 8
la source
Je suis tombé sur cette réponse en essayant de styliser le ReCaptcha v2 pour un site qui a un mode clair et un mode sombre. J'ai joué un peu plus et j'ai découvert qu'en outre
transform
, ilfilter
est également appliqué auxiframe
éléments, ce qui a fini par utiliser le ReCaptcha par défaut / clair et le faire lorsque l'utilisateur est en mode sombre:Le
hue-rotate(180deg)
fait en sorte que le logo soit toujours bleu et que la coche soit toujours verte lorsque l'utilisateur clique dessus, tout en gardant le blancinvert()
au noir et vice versa.Je n'ai vu cela dans aucune réponse ou commentaire, alors j'ai décidé de partager même s'il s'agit d'un ancien fil de discussion.
la source
Vous pouvez utiliser du CSS pour le style Google reCAPTCHA v2 sur votre site Web:
- Changer l'arrière-plan, la couleur du widget Google reCAPTCHA v2:
ou
- Redimensionnez le widget Google reCAPTCHA v2 en utilisant cet extrait de code:
- Réagissez à votre Google reCAPTCHA v2:
Tous les éléments, propriété de CSS ci-dessus, juste pour votre référence. Vous pouvez les modifier vous-même (uniquement en utilisant le sélecteur de classe CSS).
Référez-vous au blog OIW - Comment modifier le CSS de Google reCAPTCHA (Re-style, Change Position, Resize reCAPTCHA Badge)
Vous pouvez également y découvrir le style de Google reCAPTCHA v3.
la source