如何在 Chrome 扩展浏览器操作中显示 Google reCAPTCHA v2?

2023-11-21

我正在构建一个 Chrome 扩展程序,它与我希望使用 Google recatcha 保护的 API 进行交互,因为我打算让它在 Chrome 扩展程序之外使用。 API 端正在工作,正确验证了 Google 的 recapcha 响应,但是,在扩展程序的浏览器操作窗口内显示 recapcha 小部件会导致以下 JavaScript 错误:

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('chrome-extension://pjhcgfibbbmibojnlkgjejaojpokgldl:80') does not match the recipient window's origin ('chrome-extension://pjhcgfibbbmibojnlkgjejaojpokgldl').

其生成于recaptcha_en.js在该行:

(a.window || ne(a.Tg)).postMessage(JSON.stringify({
        message: c || null ,
        messageType: b
    }), Zj(a.path));

问题似乎在于a.path is chrome-extension://pjhcgfibbbmibojnlkgjejaojpokgldl:80但我不知道如何影响这个值。

此错误的结果是 recaptcha 小部件显示一条消息:

请升级到支持的浏览器以获得 reCAPTCHA 挑战。

我通过以下方式显示小部件自动渲染方法,但也尝试过显式方法这会导致同样的错误。有关信息,我正在使用以下内容content_security_policy:

script-src 'self' https://*.google.com https://*.gstatic.com; object-src 'self'

有什么办法可以让它在我的扩展中工作吗?如果没有,集成验证码的最佳替代方法是什么?


在验证码 v3 中

清单.json "content_security_policy": "script-src 'self' https://.google.com https://.gstatic.com;对象-src'自我'”

添加 Chrome 扩展 添加到 RECAPTCHA 管理控制台中允许的域

chrome 扩展://aailnablglhloogfnpkgddnjjfimhhhg

所以你只需输入“aailnablglhloogfnpkgddnjjfimhhhg”而不带 chrome-extension://

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Chrome 扩展浏览器操作中显示 Google reCAPTCHA v2? 的相关文章

随机推荐