我开发了工作 D3 驱动的图表,就所有其他浏览器而言,没有问题。
但最近在 Internet Explorer 8 中也出现了支持它们的需求。
但到目前为止,我无法在 IE8 中显示此 html。
这些是 D3 中使用的标签:
<svg> <path> <g> <line> <circle> <rect>
在过去的 6 个小时里,我浏览了很多材料和问题,包括:
“在 IE8 中显示内联 SVG ”,从 2012 年 10 月开始就有这个答案:
我也一直在研究这个问题,并提出了一些选择。
Chrome Frame - 一个浏览器插件,实际上在下面使用 chrome,这意味着 SVG 可以正常工作。如果您能够将插件部署到浏览器,这很好,但对于真正的商业环境,这可能是不可能的。
SVG Web - 目标是将 SVG 带到所有浏览器。它看起来是一个相当大的项目,有谷歌的意见。但是,尽管我对这些问题知之甚少,但这并不适用于 D3。
D34Raphael - 你提到了这个,我又发现它不能开箱即用。在 GitHub 上查看该项目,几个月来没有任何提交活动,并且有一些拉取请求“首先尝试获得对事件绑定所需的 .on() 的支持”。如果它不支持事件,那对您来说是个问题吗?我一般会远离这个。
R2D3 - 你提到的另一个。我从 D3 网站上获取了 Sankey 示例,并且必须进行一些更改才能使其正常工作。我无法工作的主要事情(拖动事件,组 - 虽然可以使用替代方案)。花了大约一天的时间让示例在 IE8 中运行,我相信它处于可用状态。GitHub 上的项目也更加活跃,开发人员正在提交、投入工作并非常积极地参与讨论等。这得到了我的投票。
还:
wikipedia.org/wiki/Scalable_Vector_Graphics
但是使用客户端插件的解决方案是不可接受的,到目前为止,我似乎无法在 IE8 中显示 svg。所以解决的办法就是找一些其他的方法来渲染矢量图。我想其他人也有同样的问题
编辑:
无论哪种方式,在我之后遇到同样问题的人至少会有一些集中的材料,并且会意识到在 IE8 上显示 svg 没有简单/真正的解决方案,最好花时间开始现有的代码重写/调整非-svg 版本
编辑:
经过一些测试后,我会说它值得尝试通过 R2D3 示例,看看是否可以简化/执行 IE8 中的代码
编辑:
在分别测试不同元素的过程中,似乎出现了一些 r2d3 问题
最常见的是Invalid argument和Object 不支持此属性或方法
因为我不习惯为 IE8 开发,所以我发现了一些有用的提示: