无法在IE9中打印由Raphael创建的SVG图像

时间:2015-05-21 10:40:00

标签: javascript internet-explorer svg raphael

我使用Raphael生成了一个图表。现在,当我尝试使用以下代码打印图表时:

var data = document.getElementById("Graph").innerHTML;
var mywindow = window.open('', '_blank', 'height=400,width=600');
mywindow.document.write('<html><head><title></title></head><body >');
mywindow.document.write(data);
mywindow.document.write('</body></html>');
mywindow.document.close(); // necessary for IE >= 10
mywindow.focus(); // necessary for IE >= 10
mywindow.print();
mywindow.close();
return true;
window.print();

图表将在新窗口中显示,并在所有浏览器中显示打印对话框。 图形在IE&gt; = 10和chrome中打印得非常好但是在IE9的情况下,只打印文本而不是完整的图形。

直到现在我已经尝试将我的图表页面的Meta标签设置为

<meta http-equiv="X-UA-Compatible" content="IE=11;edge,9;" />

禁用IE9的保护模式。

将图表另存为PDF也只提供文本输出。

1 个答案:

答案 0 :(得分:2)

在您的文档中添加DOCTYPE,例如因为第一次写作就像

一样
mywindow.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');