jqueryスクリプトを含む次のhtmlページがあります。スクリプトは次の行で IE8 で失敗しています:
var dataCopy = JSONObject[event];
for (data in dataCopy)
エラーメッセージは「オブジェクトはこのプロパティまたはメソッドをサポートしていません」です。同じコードが Chrome と Firefox で正常に動作します。どんな提案も素晴らしいでしょう。私はすべての異なる年の値を取得しようとしています。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>
Google Visualization API Sample
</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script src="..\Scripts\jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages: ['corechart', 'geochart', 'table'] });
</script>
<script type="text/javascript">
function drawVisualization() {
var JSONObject = {
cols: [{
id: 'Year', label: 'Year', type: 'string'
},{
id: 'data1', label: 'col2', type: 'number'
},{
id: 'data2', label: 'col3', type: 'number'
}],
rows: [{
c:[{v: '2000'}, {v: null}, {v: 3}]
},{
c:[{v: '2001'}, {v: 8}, {v:3 }]
},{
c:[{v: '2004'}, {v: 2.1244322}, {v: 4}]
}
]};
var yearArray = [];
for (var event in JSONObject) {
var dataCopy = JSONObject[event];
for (data in dataCopy) {
var mainData = dataCopy[data];
for (key in mainData) {
if (key.match(/c/)) {
var row = mainData[key];
yearArray.push(row[0].v);
}
}
}
}
alert(yearArray.length);
}
</script>