2013-07-17 120 views
0

嗨我有一個基本圖表不顯示在IE 8或9.在IE 10中工作。空間只是空白。下面的代碼:谷歌圖表不顯示在IE 8

var colors = ['#C02942', '#53777A', '#ECD078', '#542437', '#D95B43']; 

    var data = google.visualization.arrayToDataTable([['Month', 'Clicked','Delivered','Sent'],['12/11', 0,0,0],['1/12', 1,1,1],['2/12', 0,0,1],['3/12', 0,0,0],['4/12', 0,0,0],['5/12', 0,0,1],['6/12', 0,0,2],['7/12', 0,0,0],['8/12', 0,0,2],['9/12', 0,0,0],['10/12', 0,0,0],['11/12', 0,0,0],['12/12', 0,0,0],['1/13', 0,0,0],['2/13', 0,0,0],['3/13', 0,0,1],['4/13', 0,0,0],['5/13', 0,0,3],['6/13', 0,0,0]]); 


    var options = { 
     width: 650, 
     colors: colors, 
     chartArea: { left: 50, top: 20}, 
     hAxis: {showTextEvery: 2}, 
     isStacked: true 
    }; 

chart = new google.visualization.AreaChart(document.getElementById('chart_div')); 
chart.draw(data, options); 

TIA

回答

2

我跑你的代碼在IE9,並且它在JavaScript控制檯中拋出一個錯誤(命中F12帶來的控制檯上)。錯誤是'顏色未定義'。除非你在其他地方定義顏色,否則這就是我看到的錯誤。

+0

謝謝,顏色是在代碼中定義的。請參閱編輯。 –

+0

發佈的代碼在4/13日期前有額外的反撥號。故意的? –

+0

正在與SO編輯進行戰鬥。該字符表示代碼塊,並添加了一個額外的字符。已被刪除。 –

0

看起來問題在於我的google.setOnLoadCallback行。由於該腳本是從ajax調用加載的,因此它不會在IE 8中觸發,而只是在其他任何瀏覽器中觸發。答案是直接調用'drawChart'函數,而不是將其包裝在google.setOnLoadCallback中。

+0

你不想跳過調用google.setOnLoadCallback,因爲你可能最終試圖繪製圖表之前API以這種方式加載。如果你在谷歌加載器的回調中堅持AJAX調用,那應該安全地解決問題。 – asgallant