带有 HTML Dialog .showModal() 方法的 reCAPTCHA v2

问题描述 投票:0回答:1

Google 的 reCAPTCHA v2 在包含在由

.showModal()
触发的 HTML5 对话框中时会显示分层问题。带有问题和图像的挑战元素位于对话框下方而不是顶部。

本地支持 HTML5 对话框的浏览器中尝试此演示,例如 Chrome:

JSFiddle 演示

Broken reCAPTCHA in HTML5 dialog

有问题的代码是

reCAPTCHA JavaScript
中的 document.body.appendChild(a.P),它将挑战 div 附加到文档正文。我考虑过对其进行猴子修补以附加到
dialog
,但这也不是一个理想的解决方案。

一种解决方法是使用

.show()
方法而不是
.showModal()
方法:

JSFiddle 解决方法演示

有更好的解决办法吗?

javascript html dialog recaptcha
1个回答
3
投票

使用

.show()
调用对话框并模仿
.showModal()
方法的样式似乎是目前最好的解决方案:

http://jsfiddle.net/karlhorky/b3hjdqeL/9/

除非 Google 更新 reCAPTCHA 以在

<dialog>
内使用,否则这是我想出的最干净的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.