dojo、iframe和FusionCharts兼容性
程序员文章站
2024-03-25 10:06:22
...
今天,我们项目组对项目收尾检查,却突然发现了一个问题,FusionCharts出现兼容性问题。
在火狐浏览器上,项目运行正常;在IE8(标准模式下)运行正常,但是在IE8杂项出现兼容性问题。经过检查,发现FusionCharts在IE8杂项的宽度没有限制,设置成100%
var columnChart = new FusionCharts( "FusionCharts/Column3D.swf", "myChartId", "100%", "300", "0" );
columnChart.setXMLUrl("column.xml");
columnChart.render("column");
柱形图如下:
后来,在同事的提议下,可能是由于FusionCharts图的宽度没有限制,故建议我们将柱形图的宽度改为固定像素的
var columnChart = new FusionCharts( "FusionCharts/Column3D.swf", "myChartId", "800px", "300", "0" );
columnChart.setXMLUrl("column.xml");
columnChart.render("column");
柱形图如下:
虽然可以暂时解决柱形图的宽度越界,但是iframe边框越界的想象时有发生。并且,切换dojo的Tab页,所有的又都显示正常。
整个页面是用dojo框剪,而柱形图是由iframe嵌入页面的FusionCharts图。
出现这个兼容性问题,可能的原因有:
(1)FusionCharts的版本过低
(2)FusionCharts和iframe出现兼容性问题
(3)FusionCharts和dojo出现兼容性问题
(4)dojo和iframe出现兼容性问题
对于第一种情况,我曾经用FusionCharts最新版本的swf文件替换低版本的swf,但是问题没有解决,不过是引入低版本的js,这种原因的可能性比较低;
后面三种原因有待考证