gpt4 book ai didi

jquery - Safari 可以在模态对话框中显示 ReCaptcha 吗?

转载 作者:行者123 更新时间:2023-12-01 05:05:28 25 4
gpt4 key购买 nike

我正在尝试在模式(jquery)对话框中显示ReCaptcha。我已经尝试过使用 blockUI、SimplelModal 和 ThickBox。对于其中每一个,它在 Firefox 中都能完美运行,但在 Safari 中则完全不行(尚未测试 Chrome)。

发生的情况是,当对话框打开时,Safari 突然决定仅显示 ReCaptcha。

我怀疑这是 Webkit 或 ReCaptcha 中的错误。但我不明白是什么让 Safari 如此对待 ReCaptcha。或者是 ReCaptcha javascript 搞乱了它?这对我来说完全是个谜。

我很想听听任何解决方法的想法。

编辑:一个额外的细节:一旦 Safari 仅显示 ReCaptcha,页面的标题仍然是原始页面的标题。来源依然是最初的来源。甚至 DOM 树看起来也很好。但它只显示 ReCaptcha。

如果我用另一个 iframe 替换 recaptcha,一切都会显示正常。在没有模式对话框的页面中显示验证码也可以正常工作。所以实际上是 Safari + ReCaptcha + jQuery 弹出窗口的组合导致了问题。

编辑:我刚刚注意到 ReCaptcha 仅在禁用 Javacript 时才使用 iframe。所以我的 iframe 测试是无关紧要的。它必须是 ReCaptcha javascript(来自 Google,因此您期望具有良好的跨浏览器功能)、jQuery(通常擅长跨浏览器功能)和 Safari(Webkit,与 Google Chrome 相关)之间的不兼容。

为什么这个特定的组合会如此严重地失败仍然是一个完全的谜。

最佳答案

这是我的解决方案:

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

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

适用于 Safari 和 Firefox 4。我现在要在其他一些浏览器中测试它。

关于jquery - Safari 可以在模态对话框中显示 ReCaptcha 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com