近期用amCharts做图表.一切都很顺利,然后演示的时候掉链子了,平时开发的时候都是用的火狐和谷歌,加上这种图表框架本来就号称兼容性极好,也没有在ie上测试,演示的机器上恰巧用的是ie11,发现一个普通柱状图表的x轴的目录名显示为undefined.换用谷歌浏览器又一切正常.
显然出现兼容性问题了,但是这个很奇怪啊,用ie打开amCharts的官网的demo,发现显示是正常的,但是本机的程序却不正常,马上将官网的最新版本替换本机版本,再运行依然显示不正常.把官网上的例子整个替换下来,用ie打开显示却是正常的.这就怪了.然后开始逐行对比代码,正常的demo关键代码点为:
"categoryField": "reqName", "categoryAxis": { "gridPosition": "start", "gridAlpha": 0, "tickPosition": "start", "tickLength": 20, "labelFunction":function(value, formattedValue, valueAxis){ return value.substring(0,5); } }
本地有问题的代码为:
//x轴的分类 "categoryField": "reqName", "categoryAxis": { "gridPosition": "start", "gridAlpha": 0, "tickPosition": "start", "tickLength": 20, "labelFunction":function(value, formattedValue, valueAxis){ return value.substring(0,5); } }
除了多了那么一行中文注释没有任何区别,然后试着把有问题的代码的中文注释去掉,运行显示正常了,然后中文注释换成//x轴也是显示正常的.
这只能得出一个结论了:某些中文注释被浏览器解析的时候也可能产生一些问题.