Error with zoomStartTime and AnnotatedTimeLine



我是一个Javascript初学者,但上个月我有一个工作的谷歌图表链接到谷歌文档文件,它使用的图表开始日期在当前日期前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>

如有任何意见,我将不胜感激。

大卫

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
},

相关内容

  • 没有找到相关文章

最新更新