我的网站正在使用下面的代码实现Google登录,并且运行良好。
当我尝试在移动版本中执行所有操作时,所有流程正常,但我没有登录的答案。我猜这是因为移动版本没有显示弹出窗口,而是新标签(Facebook具有相同的行为以及...)
我应该如何使其也能在移动版本中使用?
gapi.load('auth2', function() {});
$(function() {
$("#btn-google-login").on('click', function() {
var proccedLogin = function(resp) {
// my continue code...
}
// Retrieve the singleton for the GoogleAuth library and set up the client.
auth2 = gapi.auth2.init({
client_id: $('meta[name="google-signin-client_id"]').attr('content'),
cookiepolicy: 'single_host_origin',
prompt: 'consent',
immediate: false
}, function() {});
auth2.signIn()
.then(proccedLogin)
.catch(function(error) {
alert(JSON.stringify(error, undefined, 2))
})
}) // btn google click
})
Ps .:我收到的错误是'popup_closed_by_user',但是我没有自己关闭标签页
修改
现在,我正在获取“ popup_blocked_by_browser”。我按照下面的链接中所述进行了一些更改,但是它始终返回相同的错误...
detect error: "popup_blocked_by_browser" for google auth2 in javascript
答案 0 :(得分:1)
尝试一下:<a href="about:blank">1</a>
<a href="about:blank" target="iframe">2</a>
<a href="about:blank" target="not_iframe">3</a>
<iframe name="iframe" src="about:blank" style="display: none;"></iframe>
来源:https://github.com/google/google-api-javascript-client/issues/232