2016-09-27 2 views
4

Я попытался использовать электронную таблицу google, чтобы реализовать раскрывающийся список выбора! Но я сталкиваюсь некоторые ошибки ... В консоли, это показывает, что ...javascript опция выбора визуализации google

**A Parser-blocking, cross-origin script, https://www.google.com/uds/?file=visualization&v=1&packages=corechart%2Cgeomap%2Ctable, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.** 
**A Parser-blocking, cross-origin script, https://www.google.com/uds/api/visualization/1.0/b5ac9efed10eef460d14e653d0…zh_TW,default+zh_TW,ui+zh_TW,geomap+zh_TW,table+zh_TW,corechart+zh_TW.I.js, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.** 

Стараюсь советы, чтобы исправить это, но он не может исправить ... Вот код, у меня есть написано

<html><head> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type=text/javascript> 
google.setOnLoadCallback(runQuery); 
google.load('visualization', '1', 
     { 
      'packages':['corechart', 'table', 'geomap'] 
     } 
);function runQuery() { 
var tableid = '1zCrjWMRxcedcvdWWAwtc9psQoK8GoGyxy8R53Ga_ztk#gid=0'; 
var uri = "SELECT geometry FROM " + tableid ; 
var queryText = "https://spreadsheets.google.com/tq?key=" + encodeURIComponent(uri); 
var query = new google.visualization.Query(queryText); 
query.setQuery("select B"); 
var a = query.setQuery("select B,C,D "); 
query.send(function(resp){ 
if (!resp.isError()) { 
    var dataTable = resp.getDataTable(); 
    var jsonData = JSON.parse(dataTable.toJSON()); 
    var len = jsonData.rows.length; 
    console.log(len); 
    alert(len); 
    } 
});}</script></head><body></body></html> 

ответ

4

1)Parser-blocking сообщение должно быть только предупреждение.

независимо, чтобы избежать появления сообщения, используйте loader.js для загрузки библиотеки,
вместо старшего библиотека jsapi

вам нужно будет изменить load заявление, как следует ...

<script src="https://www.gstatic.com/charts/loader.js"></script> 
<script> 
google.charts.load('current', {'packages':['corechart', 'table', 'geomap']}); 
google.charts.setOnLoadCallback(runQuery); 
... 

согласно release notes ...

Версия Google Ch искусство, которое остается доступным с помощью загрузчика jsapi, не обновляется постоянно. С этого момента вы можете использовать новый gstatic loader.

2) подозреваю, что есть еще одна встречающаяся ошибка, проверьте ответные сообщения

см следующий рабочий фрагмент кода, когда я запускаю его, ошибка Access denied ...

google.charts.load('current', {'packages':['corechart', 'table', 'geomap']}); 
 
google.charts.setOnLoadCallback(runQuery); 
 

 
function runQuery() { 
 
var tableid = '1zCrjWMRxcedcvdWWAwtc9psQoK8GoGyxy8R53Ga_ztk#gid=0'; 
 
var uri = "SELECT geometry FROM " + tableid ; 
 
var queryText = "https://spreadsheets.google.com/tq?key=" + encodeURIComponent(uri); 
 
var query = new google.visualization.Query(queryText); 
 
query.setQuery("select B"); 
 
var a = query.setQuery("select B,C,D "); 
 
query.send(function(resp){ 
 
if (!resp.isError()) { 
 
    var dataTable = resp.getDataTable(); 
 
    var jsonData = JSON.parse(dataTable.toJSON()); 
 
    var len = jsonData.rows.length; 
 
    console.log(len); 
 
    } else { 
 
    console.log('Error: ' + resp.getMessage() + '\nDetails: ' + resp.getDetailedMessage()); 
 
    } 
 
});}
<script src="https://www.gstatic.com/charts/loader.js"></script>

+0

надеюсь, что это поможет - [вот пример] (http://stackoverflow.com/a/38666678/5090771) создания капли d из таблицы - [здесь приведен пример] (http://stackoverflow.com/a/38613267/5090771) использования фильтров в электронной таблице – WhiteHat

+0

Я пробовал ваши предложения, нет ошибки, однако страница пуста , –

+0

имеет смысл, «dataTable» извлекается, но никогда не используется ни для чего, что вы ожидали увидеть? – WhiteHat

Смежные вопросы