调用google.accounts.id.prompt时出现AbortError

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

我正在网页上实现“使用 Google 登录”功能,遵循本页面上的指导:https://developers.google.com/identity/gsi/web/reference/js-reference

我想这样做,以便当按下我们的自定义样式按钮时,会出现“使用 Google 登录”弹出窗口。因此,我已经做到了,以便在单击按钮时调用 google.accounts.id.prompt,如下所示:

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async></script>
    <script>
      function handleCredentialResponse(response) {
        console.log("Encoded JWT ID token: " + response.credential);
      }
      window.onload = function () {
        google.accounts.id.initialize({
          client_id: "XXXXXXXXX.apps.googleusercontent.com",
          callback: handleCredentialResponse
        });
        document.getElementById("buttonDiv").onclick = function() {
          google.accounts.id.prompt();
        };
      }
    </script>
    <div id="buttonDiv">test</div>
  </body>
</html>

最近,我注意到此功能已停止工作。调用 google.accounts.id.prompt 时,开发控制台输出以下错误消息,并且不出现登录弹出窗口:

[GSI_LOGGER]: FedCM get() rejects with AbortError: Request has been aborted.

我于 2024 年 4 月 7 日注意到此错误。我不知道它何时开始发生,但截至 2024 年 3 月 20 日,它运行正常,没有任何问题。而且,这个问题在 Google Chrome 上出现,但在 Firefox 上却没有。

这个问题有什么潜在原因和解决方案吗?

javascript google-signin fedcm
1个回答
0
投票

我处于同样的情况,但我的错误是

[GSI_LOGGER]: FedCM get() rejects with AbortError: signal is aborted without reason
。看起来谷歌做了一些改变,但不知道如何修复这个错误。我尝试使用
use_fedcm_for_prompt: true,
作为文档推荐,但没有成功。 在 Mozilla 或 Safari 中它运行良好。

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