所以,问题是弹出窗口会阻止窗口打开,即使它是由用户操作完成的,例如单击......
gapi.auth.authorize({
client_id: this.client_id,
scope: this.scopes,
access_type: 'online',
immediate: immediate
}, function(authResult) {
console.log(authResult)
});
如果我只是在用户单击时打开窗口,如下所示:
$('.some').click(funciton(){
window.open(someurl)
})
它工作正常,但如果我这样做,它会抛出 gdrive api(gapi.auth.authorize),无论如何都会阻塞。
必须的,我不能强制用户关闭 popap 阻塞。 我希望现在有人解决了它:),谢谢
最佳答案
试试这个:
在调用 client.js 时包含一个 onload 事件
<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
从 onload 函数调用 gapi.auth.init:
function handleClientLoad() { window.setTimeout(gapi.auth.init,1); }
在您的授权配置中立即设置:false。
检查页面流中的 1. 是否低于 2.
关于javascript - 弹出窗口阻止 chrome 中的 gdrive 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15657983/