Popup blocking the gdrive authorization in chrome(在 chrome 中阻止 gdrive 授权的弹出窗口)
问题描述
所以,问题在于弹出窗口会阻止窗口打开,即使它是由用户操作完成的,例如单击..
So, the problem is that popup blocking the window open even if it is done by a user action, click for example..
gapi.auth.authorize({
client_id: this.client_id,
scope: this.scopes,
access_type: 'online',
immediate: immediate
}, function(authResult) {
console.log(authResult)
});
如果我只是在用户点击此处打开窗口:
If i simply open the window on user click as here:
$('.some').click(funciton(){
window.open(someurl)
})
它工作正常,但如果我这样做了,它会抛出 gdrive api(gapi.auth.authorize),无论如何都会阻塞.
it works fine, but if i did it throw the gdrive api(gapi.auth.authorize), this blocking anyway.
必须,我不能强迫用户关闭弹出窗口阻止.我希望任何人现在如何解决它:),谢谢
A must, I can not force users to off popap blocking. I hope that anybody now how solved it :), thanks
推荐答案
试试这个:
在对 client.js 的调用中包含一个 onload 事件
Include an onload event in your call to client.js
<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
从 onload 函数调用 gapi.auth.init:
Call gapi.auth.init from the onload function:
function handleClientLoad() { window.setTimeout(gapi.auth.init,1);}
在您的授权配置中设置立即:false.
In your authorize configuration set immediate: false.
检查页面流中 1. 是否低于 2..
Check that 1. is below 2. in the flow of the page.
这篇关于在 chrome 中阻止 gdrive 授权的弹出窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 chrome 中阻止 gdrive 授权的弹出窗口
基础教程推荐
- 动态更新多个选择框 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 我什么时候应该在导入时使用方括号 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01