很难理解如何实现这一点,尽管它在网络上非常普遍。
我有两个模式,一个是“注册”模式,另一个是“登录”模式。我需要能够通过用户的 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]
关于javascript - 我需要在同一页面上同时使用 "log in with Google"和 "sign up with Google"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033347/