Cri*_*ufu 10 jquery google-api
我正在尝试使用google + api,我不得不修改示例身份验证示例以满足我的需求,如下所示:
<script src="https://apis.google.com/js/client.js"></script>
Run Code Online (Sandbox Code Playgroud)
而不是这个:
<script src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>
Run Code Online (Sandbox Code Playgroud)
基本上删除了onload参数,并将所有功能放在dom上.
这是我不明白的问题:
码:
console.log(gapi);
console.log(gapi.client);
$.each(gapi, function(){
console.log(this);
});
gapi.client.setApiKey(this.options.apiKey);
Run Code Online (Sandbox Code Playgroud)
输出:
所以,我的问题主要是:
为什么在console.log(gapi)它显示它有像client和auth这样的子对象,而在console.log(gapi.client)它表示未定义?
小智 11
必须使用?onload callback参数,当JS Client异步加载完成时调用它.通过在dom上运行,你可以在定义之前尝试访问gapi.client.发生的事情是/js/client.js脚本定义了gapi和一些辅助函数,但是直到JS客户端加载完成后才定义gapi.client和gapi.auth.当您检查console.log(gapi)记录的对象时,客户端已完成加载,因此您会看到gapi.client和gapi.auth已定义.