google-drive-sdk
2014-12-03 74 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> 
相關問題