Javascript 如何使RaphaelJS图形与流体布局一起工作

Javascript 如何使RaphaelJS图形与流体布局一起工作,javascript,svg,raphael,fluid-layout,vml,Javascript,Svg,Raphael,Fluid Layout,Vml,由于IE8,我使用RaphaelJS生成一个图形,在所有现代浏览器(如Chrome、FireFox、Safari、IE9+)中都是SVG,但在IE8中却是VML 此图形嵌入在中,它是使用流体布局的页面的一部分。使用纯SVG,我可以使用viewBox和preserveSpectratio等属性使其工作,也就是说,图形(以及其中的元素)随着浏览器窗口的大小而上下缩放 但是它如何处理VML案例呢?我是否需要在窗口调整大小事件时通过重新绘制整个图形来滚动我自己的图形?RaphaelJS有什么方法可以简化

由于IE8,我使用RaphaelJS生成一个图形,在所有现代浏览器(如Chrome、FireFox、Safari、IE9+)中都是
SVG
,但在IE8中却是
VML

此图形嵌入在
中,它是使用流体布局的页面的一部分。使用纯
SVG
,我可以使用
viewBox
preserveSpectratio
等属性使其工作,也就是说,图形(以及其中的元素)随着浏览器窗口的大小而上下缩放

但是它如何处理
VML
案例呢?我是否需要在窗口调整大小事件时通过重新绘制整个图形来滚动我自己的图形?RaphaelJS有什么方法可以简化这个案例吗?

应该为VML和SVG AFAIK处理这个问题


也就是说,我不确定VML处理流畅布局的效果如何。

对于所有好的浏览器,您可以设置宽度/高度的百分比,这将使图像自动“流畅”(它将使用DIV容器调整大小),对于IE7-8,您应该使用自定义调整大小功能,这将手动执行
paper.setViewBox()

  if($.browser.msie && $.browser.version < 9){
       R = Raphael('divID', 640, 480);
       $(window).on('resize', yourCustomfluidResizeFunction);
  }else{
       R = Raphael('divID', '100%', '100%');
  }
if($.browser.msie&&$.browser.version<9){
R=拉斐尔('divID',640480);
$(窗口)。在('resize',yourCustomfluidResizeFunction');
}否则{
R=Raphael('divID','100%','100%');
}

我什么时候调用
setViewBox
?我尝试在创建图形后调用它,但是当我调整浏览器窗口的大小时,什么也没有发生-图形保持不变(注意,我在Chrome中使用的是
SVG
图形)。