需要在js中提出身份验证请求,但浏览器不支持弹出窗口。有什么方法可以重定向到新的网址或在应用程序的html5页面中显示请求

最佳答案

通过使用此代码,检查用户是否授权了您的应用

gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, callbackAuthResult);

注意:immediate:true如果将即时设置为true,则不会显示弹出窗口。

你看?您不打开弹出窗口,而是管理回调中的内容。此回调通常用于后处理。在这里,我们使用它进行身份验证。

callbackAuthResult中:
callbackAuthResult = function (authResult) {
    var authorizeButton = document.getElementById('authorize-button');
    if (authResult && !authResult.error) {
        authorizeButton.style.display = 'none';

    // do your processing here

    } else {
    authorizeButton.style.display = 'block';
    authorizeButton.onclick = callbackAuthClick;
    }
}

callbackAuthClick = function (event) {
gapi.auth.authorize({
    client_id: clientId,
    scope: scopes,
    immediate: false
}, handleAuthResult);
    return false;
}

10-08 00:27