0

我是 Javascript 的初学者,但上个月我有一个链接到 Google Docs 文件的有效 Google 图表,该文件使用当前日期前 90 天的图表开始日期。

我今天检查了页面,在 Chrome 中我收到消息“对象 # 没有方法 'getTime'”,在 Firefox 中我收到消息“b.zoomStartTime[y] 不是函数”。两者都停止加载图表。

我已经简化了代码来帮助我解决错误,但我没有得到任何地方......这是代码:

<script type="text/javascript">
    var oldDate = new Date();
    oldDate.setDate(oldDate.getDate() - 90);
</script>       

<script type="text/javascript" src="//ajax.googleapis.com/ajax/static/modules/gviz/1.0/chart.js">
 {
     "dataSourceUrl": "//docs.google.com/spreadsheet/tq?key=0AkQH6d2CUv_qdDhwd3gtZzdTVFlNX3AwX2xUSUVuclE&transpose=0&headers=-1&range=A1%3AB2436&gid=0&pub=1",
     "options": {
         "zoomStartTime": oldDate,              
         "width": 650,
         "height": 371
     },
     "chartType": "AnnotatedTimeLine",
 }
</script>

任何想法将不胜感激。

大卫。

4

1 回答 1

1

getDate()调用返回月份中的某一天 ( http://www.w3schools.com/jsref/jsref_obj_date.asp ),这会创建无效日期并导致错误。

比现在获得另一个日期的解决方案:

function getDate(y, m, d) {
    var now = new Date();
    return new Date(now.getFullYear()+(y?y:0), now.getMonth()+(m?m:0), now.getDate()+(d?d:0));
}

你可以这样使用:

"options": {
    "zoomStartTime": getDate(0, -90, 0),              
    "width": 650,
    "height": 371
},
于 2012-08-30T23:11:01.953 回答