今天费了老大周折,终于把这个问题搞定,记录一下。

用jquery.flot.js生成的图表,在本机IE8上显示完美,可换了一台机器的IE6却无法显示,再换另一台电脑的IE8,也是无法显示,于是开始寻思是不是flot兼容性的问题,确认了一下,有包括 excanvas.js 进来:

<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="js/excanvas.min.js"></script><![endif]-->,

然后又怀疑是vml的问题,是不是不支持,google百度了N久,觉得应该不会,这可是微软自家的东东。

然后发现下载的jquery.1.7在语法上有3个错误,让人感觉像是寻着破案线索了,于是上jquery网站下载老一点的版本,偏偏jquery官网无法访问,幸好以前的备份,换上jquery1.4再测,没有任何语法错误,可还是plot区无法显示。最后决定debug,发现问题原来是如此简单,问题就出在这里:

 1 var options1 = 
2 {
3 xaxis: { mode: "time", tickLength: 15 },
4 yaxis: { tickDecimals: 0, tickSize: 1 },
5 selection: { mode: "x" },
6 grid: { markings: weekendAreas },
7 lines: { show: true, lineWidth: 1},
8 points: {show: true },
9 crosshair: { mode: "xy", color:"#00FF00"},
10 }

 

注意最后这一句,crosshair: { mode: "xy", color:"#00FF00"}这句后面带上了一个逗号,IE无法解析,所以无法继续,去掉后面这个逗号后,世界从此和谐啦!(只是奇怪我自己这台电脑为什么有超强的解析能力),改过后:

 1 var options1 = 
2 {
3 xaxis: { mode: "time", tickLength: 15 },
4 yaxis: { tickDecimals: 0, tickSize: 1 },
5 selection: { mode: "x" },
6 grid: { markings: weekendAreas },
7 lines: { show: true, lineWidth: 1},
8 points: {show: true },
9 crosshair: { mode: "xy", color:"#00FF00"}//这里不可以继续带逗号
10 }

 

这个页面是显示我们工程软件的License 使用情况,最后页面效果: