google-drive-sdk
2014-12-03 57 views 2 likes 
2

我正在尝试给出的示例here。具体地讲,下面的代码是给我找麻烦:在Google Drive示例中未调用handleClientLoad函数

<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script> 
<script type="text/javascript"> 
    var CLIENT_ID = 'xxx...'; 
    var SCOPES = [ 
     'https://www.googleapis.com/auth/drive.file', 
     'email', 
     'profile', 
    ]; 

    function handleClientLoad() { 
    alert("Hi"); 
    checkAuth(); 
    } 

我跟踪,文件client.js是我的浏览器下载。但是,handleClientLoad()未被调用。

该示例是否完整且可运行或者是否有其他需要?

回答

4

是的,你是对的。回调handleClientLoad()不会在加载client.js库时调用。我的猜测是,只要它加载客户端库并尝试调用回调,callback(handleClientLoad())就是未定义的。要使其工作,应在第二个脚本块结束后放置第一个脚本块<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script>。它为我工作。

尝试运行代码如下方式(测试工作对我来说),

<script type="text/javascript"> 
    var CLIENT_ID = 'xxx...'; 
    var SCOPES = [ 
     'https://www.googleapis.com/auth/drive.file', 
     'email', 
     'profile', 
    ]; 

    function handleClientLoad() { 
    alert("Hi"); 
    checkAuth(); 
    } 
</script> 

<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=handleClientLoad"></script> 
相关问题