Acabo de integrar reCAPTCHA 2.0 de Google en mi sitio. Funciona como se esperaba en Chrome, Firefox y Edge, pero no funciona / aparece en Safari en mi MacBook Pro.

  • MacBook Pro: macOS Sierra versión 10.12.2.
  • Safari: Versión 10.0.2 (12602.3.12.0.1)

El reCAPTCHA se está utilizando dentro de un dhtmlXForm como este ...

...
{ type:"label", name:"myrecaptcha", label:"<div class=\"g-recaptcha\" data-sitekey=\"MY_KEY_HERE\"></div>", offsetLeft:320 },
...

Que en todos los navegadores excepto Safari genera esto ...

enter image description here

Pero en Safari no aparece ...

enter image description here

No hay errores en la consola. He borrado todo el caché del navegador. La ubicación de la línea api.js es inmediatamente antes de la etiqueta de cierre </head> como dice la documentación de Google. No estoy seguro de qué más probar.

ACTUALIZACIÓN: en Safari, cuando inspecciono el área donde se supone que debe mostrarse el reCAPTCHA, solo veo el <div class="g-recaptcha" data-sitekey="MY_KEY_HERE"></div> original sin nada en él. Entonces, no está poniendo el iframe en ese div por alguna razón. Espero que ayude.

10
gfrobenius 11 ene. 2017 a las 22:58
Si tiene adblock, intente desactivarlo ...
 – 
Ani
24 ene. 2017 a las 19:34
Safari - Preferencias -> Seguridad -> Desmarqué "Bloquear ventanas emergentes". No tuve ningún efecto. No tengo ningún otro software de bloqueo de anuncios.
 – 
gfrobenius
24 ene. 2017 a las 22:15
ACTUALIZACIÓN: En Safari, si voy a Desarrollar -> Agente de usuario -> Si selecciono Edge, Chrome (Win o Mac), Firefox (Win o Mac), funciona. Esto está en Safari, simplemente cambiando el agente de usuario. Tal vez eso ayude a alguien a reducir este problema, no lo sé.
 – 
gfrobenius
24 ene. 2017 a las 22:23
No es exclusivo de su sitio: he encontrado otros sitios donde los captchas funcionan en Chrome pero no en Safari (que es como terminé aquí)
 – 
Jeremy Young
13 sep. 2017 a las 12:50

2 respuestas

1. $('#captcha-form script').remove();

'captcha-form' es la identificación del formulario que contiene el captcha. Elimine las etiquetas de secuencia de comandos para que las secuencias de comandos no se ejecuten por segunda vez cuando Safari las vuelva a renderizar después de que jQuery las mueva. Los controladores de eventos creados por la secuencia de comandos no están en las etiquetas de la secuencia de comandos, por lo que sobreviven.

2. Establezca los enlaces en el archivo de configuración reCAPTCHA de http a https

Acabo de recordar que también había activado "Usar HTML5 en formularios" en la configuración general de Formidable recientemente. Si desmarco eso, el reCAPTCHA funciona en Safari.

Entonces, esto indicaría que hay un problema con su implementación de HTML5 en los formularios, tal vez eso solo aparezca cuando el sitio usa HTTPS.

3. Consulte estos enlaces que se proporcionan a continuación para obtener más detalles:

Solución de problemas de reCAPTCHA2.0

reCAPTCHA Preguntas frecuentes

Tutorial de Google reCAPTCHA

0
Varsha 21 ene. 2017 a las 15:44
Lo siento no entiendo. No hay nada con un ID de captcha-form en ninguna parte de mi página. No estoy creando un formulario HTML normal. Este es un dhtmlXForm. Además, leí ese artículo pero no hay una configuración de "Usar HTML5 en formularios", que debe ser una configuración anterior. Agregué una ACTUALIZACIÓN a la pregunta original.
 – 
gfrobenius
24 ene. 2017 a las 22:37

Estoy enfrentando el mismo problema en mi sitio, en mi caso es en Firefox, aparentemente es porque JavaScript está deshabilitado (¡aunque está habilitado en el navegador! Y probé en 3 computadoras diferentes) Lo sé porque cuando cambié el la configuración de reCaptcha para admitir navegadores que no son compatibles con Javascript, me resolvió el problema.

Para hacer esto, puede "navegar a la consola de administración y mover el control deslizante de preferencias de seguridad a la" más fácil ". para los usuarios ". Tenga en cuenta que con esta configuración, reCAPTCHA no podrá utilizar todas sus funciones de seguridad". como se dice en preguntas frecuentes sobre reCAPTCHA

Espero que esto ayude a alguien a reducir el problema.

PD: No tengo suficiente reputación para dejar un comentario.

0
hmk 13 oct. 2017 a las 16:00