弹出窗口阻止chrome中的gdrive授权

nik*_*tka 4 javascript authentication google-drive-api

因此,问题是弹出窗口阻止窗口打开,即使它是由用户操作完成的,单击例如..

gapi.auth.authorize({
   client_id: this.client_id,
   scope: this.scopes,
   access_type: 'online',
   immediate: immediate
}, function(authResult) {
   console.log(authResult)
});
Run Code Online (Sandbox Code Playgroud)

如果我只是在用户点击打开窗口,如下所示:

$('.some').click(funciton(){
    window.open(someurl)
})
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我这样做它抛出gdrive api(gapi.auth.authorize),无论如何这个阻塞.

必须,我不能强迫用户关闭popap阻止.我希望现在有人如何解决它:),谢谢

Ben*_*ott 5

试试这个:

在对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.