reCAPTCHA 2.0没有出现在Safari中(适用于Edge,Chrome和Firefox)

gfr*_*ius 9 javascript safari recaptcha dhtmlx

我刚将Google reCAPTCHA 2.0集成到我的网站中.它在Chrome,Firefox和Edge中按预期工作,但在我的MacBook Pro上无法在Safari中显示.

  • MacBook Pro:macOS Sierra版本10.12.2.
  • Safari:版本10.0.2(12602.3.12.0.1)

reCAPTCHA正在这样的dhtmlXForm中使用......

...
{ type:"label", name:"myrecaptcha", label:"<div class=\"g-recaptcha\" data-sitekey=\"MY_KEY_HERE\"></div>", offsetLeft:320 },
...
Run Code Online (Sandbox Code Playgroud)

在除Safari之外的所有浏览器中生成此...

在此输入图像描述

但在Safari中它似乎没有......

在此输入图像描述

控制台中没有错误.我已经清除了所有浏览器缓存.该api.js行的位置紧跟在结束</head>标记之前,如Google的文档所述.不知道还有什么可以尝试.

更新:在Safari中,当我检查reCAPTCHA应该显示的区域时,我只看到<div class="g-recaptcha" data-sitekey="MY_KEY_HERE"></div>其中没有任何内容的原始内容.因此,出于某种原因,它不会将iframe放入该div中.希望有所帮助.

Var*_*sha 0

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

'captcha-form'是包含验证码的表单的 ID。删除脚本标签,这样当 jQuery 移动脚本后 Safari 重新呈现脚本时,脚本就不会再次执行。脚本创建的事件处理程序不在脚本标记中,因此它们会保留下来。

2.将 reCAPTCHA 配置文件中的链接从http设置为https

我刚刚想起来,我最近还在“强大的常规”设置中打开了“在表单中使用 HTML5”。如果我取消选中该选项,reCAPTCHA 将在 Safari 上运行。

因此,这表明您在表单中实现 HTML5 存在问题,也许只有当网站使用 HTTPS 时才会出现问题。

3.请参阅下面提供的链接了解更多详细信息 -

reCAPTCHA2.0 故障排除

reCAPTCHA 常见问题解答

谷歌 reCAPTCHA 教程