2013-09-26 25 views
0

IE與谷歌的可視化API無法獲取財產「數據表」的值:對象爲空或未定義

我的javascript上domcententloaded運行失敗,而是試圖用時在一開始會失敗。

document.addEventListener("DOMContentLoaded", function drawChart() { 
     alert("1"); 
     google.load('visualization', '1.0', { 'packages': ['corechart'] }); 
     // Create the data table. 
     var data = new google.visualization.DataTable(); //this fails 
     ...}); 

我使用IE9

回答

0

的google.visualization對象不會重新加載;)

試試這個:

function onready_visualization() { 
var data = new google.visualization.DataTable(); //this fails 
}; 

document.addEventListener("DOMContentLoaded", function drawChart() { 
     alert("1"); 
     google.load('visualization', '1.0', { 'packages': ['corechart'], 'callback': onready_visualization }); 
     // Create the data table. 
     //... 
}); 
+0

給出了錯誤:「數據」未定義 – KristianMedK

+0

所有的代碼必須被放置在「onready_visualization」功能。 –

0

一般來說,沒有充分的理由等待文檔加載以加載Visualization API(並且實際上可能會導致問題,因爲從其他函數調用時,Google加載程序的行爲很奇怪)。把你的可視化代碼的函數,使用回調從谷歌裝載機繪製可視化文件:

function drawVisualization() { 
    var data = new google.visualization.DataTable(); 
    // rest of visualization code 
} 
google.load('visualization', '1', {packages: ['corechart'], callback: drawVisualization}); 
相關問題