欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ie8下excanvas在window组件中使用时,有红色图形显现

程序员文章站 2022-06-26 15:30:26
...

1、背景

项目中使用canvas绘制图形,但是需要指出IE8浏览器,因此使用了excanvas.js插件来做支撑

excanvas是使用IE的VML对象,将canvas的api实现一遍,来达到可以使用cavans

当是的图形是在window组件中使用(当时做的是个动态图表,每隔5秒向服务端取1个数据,然后前端缓存这些数据,生成动态线。

由于要缓存数据,当时在数据没有回来时,组件实例化生成了,canvas元素也生成了。

在数据回来前没有绘制动作,导致excanvas生成的默认背景色显示出来了),图形绘制前有红色图形闪现一下。

// excanvas代码
var overlayEl = el.cloneNode(false);
    // Use a non transparent background.
    overlayEl.style.backgroundColor = 'red';
    overlayEl.style.filter = 'alpha(opacity=0)';
    canvasElement.appendChild(overlayEl);

2、最后解决方法

俩种方案,在数据回来前不要去生成canvas,或者将这个背景色改成其他颜色

相关标签: 兼容性 html5