2016-01-27 22 views
0

我使用此代碼從谷歌驅動器選取器中檢索文件。但是,在IE瀏覽器它會在通話中返回錯誤。Gdrive文件得到JS不起作用,即ie

function downloadFile(file, callback) { 
if (file.downloadUrl) { 
    var accessToken = gapi.auth.getToken().access_token; 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET', file.downloadUrl); 
    xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken); 
    xhr.onload = function() { 
     callback(xhr.responseText); 
    }; 
    xhr.onerror = function() { 
     callback(null); 
    }; 
    xhr.send(); 
} else { 
    callback(null); 
}} 

在Chrome和Firefox中工作正常,但在IE 11和+中返回「Access denied」。 Error print screen

回答

0

如果您正在使用IE6或任何舊的瀏覽器,你需要使用特定的rpc_relay文件,並將其放置在你的應用程序相同的域,然後修改它的創建代碼。

支持舊的瀏覽器

  1. 下載這個文件:https://www.google.com/ajax/picker/resources/rpc_relay.html
  2. 將文件放置在與應用程序相同的域中。
  3. 修改選取器創建代碼,使用校正後的路徑:

    有關選取器API
    var picker = new google.picker.PickerBuilder(). 
        addView(google.picker.ViewId.IMAGE_SEARCH). 
        setDeveloperKey(developerKey). 
        setCallback(pickerCallback). 
        setRelayUrl('http://www.yoursite.com/somedir/rpc_relay.html'). 
        build(); 
    

更多信息可以在其documentation

+0

可以找到我的IE11和邊緣測試。我現在就試試這個。 – user3402815