javascript - 我需要在同一页面上同时使用 "log in with Google"和 "sign up with Google"按钮

标签 javascript jquery google-api google-plus google-signin

很难理解如何实现这一点,尽管它在网络上非常普遍。

我有两个模式,一个是“注册”模式,另一个是“登录”模式。我需要能够通过用户的 Google 帐户执行这两项操作。我已通过 Google API 成功创建并登录用户。

问题在于 Google 的登录按钮会自动让用户登录。

在我的页面上:

<div class="g-signin2" data-onsuccess="googleSignUp"></div>

之后:

<div class="g-signin2" data-onsuccess="googleLogIn"></div>

显然,这两个按钮具有不同的 onsuccess 函数,但是当用户登录时都会调用这两个按钮。通过仅在单击按钮时实际获取 Google 脚本,我在一定程度上缓解了该问题:

$('a#google-login').click(function() {
    $.getScript('https://apis.google.com/js/platform.js');
})

但是整个设置的行为并不理想。有一个通用的修复方法吗?如果用户登录(例如,没有任何用户操作),Google 会自动运行 onsuccess 函数,这似乎令人难以置信地令人沮丧。如果按钮无需用户操作即可运行,那么它还有什么意义呢?

所以:我希望能够通过 Google 登录用户,并通过 Google 注册用户,但前提是用户实际点击了按钮,两种情况。

最佳答案

您可以通过使用命令式方法实现 Google 登录按钮来实现您想要的目的。我的建议是使用自定义按钮。这样您就可以更好地控制 API。查看此文档:
https://developers.google.com/identity/sign-in/web/build-button

这个视频也可能有帮助。
https://www.youtube.com/watch?v=Oy5F9h5JqEU]

这是示例代码
https://github.com/GoogleChrome/google-sign-in

关于javascript - 我需要在同一页面上同时使用 "log in with Google"和 "sign up with Google"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033347/

相关文章:

javascript - 没有得到名称属性

jQuery - 选择除一个类之外的一系列类

javascript - 谷歌可视化饼图文本 anchor 问题和文本被切断

javascript - Ldapjs 无法连接到服务器

JavaScript:使用时区将 UTC 时间转换为本地时间

jquery - 使用 jQuery AJAX 获取脚本标签

javascript - 在本地提供 Google No Captcha reCaptcha 的 api.js 是否会阻止正确的行为?

google-api - 使用 StudentWorkFolder 创建类(class)工作

javascript - 使用 Function.prototype.bind.apply(Obj, args) 将参数传递给对象,仅传递第一个元素

javascript - 帮助我正确进行 AJAX 调用