2013-01-04 69 views
0

我正在使用highcharts進行餅圖。有一個在IE7中的腳本說了一個問題:無法獲取屬性「0」的值:對象在IE7中爲空或未定義

SCRIPT5007: Unable to get value of the property '0': object is null or undefined highcharts.js, line 10 character 3841

下面是代碼從腳本行:

if(typeof a[0]==="number") 
    this.x=a[0],this.y=a[1]; 
else if(d==="object"&&typeof a.length!=="number") { 
    if(u(this,a),this.options=a,a.dataLabels)c._hasPointLabels=!0 
} 
else if(typeof a[0]==="string") 
    this.name=a[0],this.y=a[1]; 

請問該如何解決這個問題?

+0

您可以發佈您傳遞給Highcharts的選項嗎? –

回答

0

請提醒(A [0]),看看這是否數組元素有一定的價值或者不 如果不是請使用這個條件的代碼之前: -

if(a.length>0){ 
//your code 
} 
0

試試這個:

if(a.length>0){ 
if(typeof a[0]==="number") 
    this.x=a[0],this.y=a[1]; 
else if(d==="object"&&typeof a.length!=="number") { 
    if(u(this,a),this.options=a,a.dataLabels)c._hasPointLabels=!0 
} 
else if(typeof a[0]==="string") 
    this.name=a[0],this.y=a[1]; 
} 
4

這也發生在我身上。在調試之後,我最終發現這個問題是因爲在我的系列數據數組的最後一個元素之後有一個額外的逗號「,」。

問題的一個例子可以在此的jsfiddle發現:http://jsfiddle.net/lewisdavidcole/Be43c/14/

該錯誤只在IE7和IE8出現了。它在IE9,Chrome和Firefox中運行良好,這更加寬容。要解決此問題,卸下的jsfiddle的266行額外的逗號,看起來像這樣:

}, //TO FIX, REMOVE THE EXTRA COMMA HERE WHICH CREATES PROBLEMS IN IE7 and IE8

錯誤的發生是因爲定義諸如

var myArray = [1,2,3,4,5,]; 陣列創建在IE7和IE8的問題,它不應該以逗號結尾。

+0

最後的額外逗號導致問題!你救了我的一天。 – Serjas

+0

我也是男人,ty! –

1

這是一種常見的配置錯誤,所以我們在Highcharts中添加了一個修復程序。請參閱http://jsfiddle.net/highcharts/sw5rY/

series: [{ 
    data: [29.9, 71.5, 106.4, 129.2,], 
    showInLegend: true 
}] 
相關問題