Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Explorer 8中获取Raphael XML字符串?_Javascript_Svg_Raphael - Fatal编程技术网

Javascript 如何在Explorer 8中获取Raphael XML字符串?

Javascript 如何在Explorer 8中获取Raphael XML字符串?,javascript,svg,raphael,Javascript,Svg,Raphael,我有一个函数可以将Raphael svg转换为PNG。它适用于所有IE9+、Firefox和Chrome。问题是,我们的许多客户仍然使用IE8,无法升级b/c,他们仍然使用Windows XP。我需要的是为IE8模拟此功能: var svgElement = document.body.getElementsByTagName("svg")[0]; var svgXml= (new XMLSerializer()).serializeToString(svgElement); var

我有一个函数可以将Raphael svg转换为PNG。它适用于所有IE9+、Firefox和Chrome。问题是,我们的许多客户仍然使用IE8,无法升级b/c,他们仍然使用Windows XP。我需要的是为IE8模拟此功能:

  var svgElement = document.body.getElementsByTagName("svg")[0];
  var svgXml= (new XMLSerializer()).serializeToString(svgElement);
  var finalSvg = svgXml.FixForRaphael();

问题是在IE8文档中,document.body.getElementsByTagName(“svg”)[0]是“未定义”的,并且XMLSerializer也不在IE8中。我相信我已经解决了后者,但我仍然不知道如何解决前者。当我在Firefox中提醒(svgElement)时,它会说它是一个“对象SVGSVGElement”。如何在IE8中获取此对象?

尝试Raphael toSVGString导出插件,并结合canvg库和FlashCanvas。另外,如果可能的话,您的问题不就简单到如何在基于VML的浏览器中将Raphael纸张转换为PNG图像吗?在IE8和更低版本中,Raphaël生成VML,而不是SVG。(如上所述)似乎是一个很好的候选人。