【问题标题】:d3.js tree layout compatibility with IEd3.js 树布局与 IE 的兼容性
【发布时间】:2016-06-20 23:16:35
【问题描述】:

像往常一样,Internet Explorer 导致了兼容性问题。这次是我使用 d3.js 构建的树形图。我的树可以在其他浏览器中使用,但在 Internet Explorer 11 中加载页面时出现以下错误:

SCRIPT5007: Unable to get property '0' of undefined or null reference

带有指向引发错误的行的链接:

d3.select(this.parentNode.children[0]).attr('height', 21 * (lineNumber + 1));

我已经查看了this question 的所有答案,并尝试使用 aight.js,但无济于事。我还尝试使用元标记 <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 并更新了 d3.min.js 脚本。

在 IE 中加载的唯一内容是一些非常破碎、压扁、功能失调的 svg 外观废话。有任何想法吗?

更新

Here is a JSFiddle 和我的代码,以及我正在使用的 jquery 和 d3 版本。

【问题讨论】:

  • 您将不得不展示一个可重现的示例。我刚刚尝试了几个d3layout examples 并且对ie11 没有任何问题。我的猜测是元标记没有使用,而 IE 正在使用“兼容模式”。特别是如果您在代理/防火墙后面,我已经看到即使用兼容性设置做疯狂的事情。一种快速测试是打开 ie 的开发者工具,进入仿真选项卡并查看文档模式下拉菜单。是否显示“边缘”?
  • 嗨,我将尝试用我的代码创建一个 jsfiddle,同时,它不会显示文档模式“11(默认)。

标签: javascript jquery internet-explorer d3.js svg


【解决方案1】:

所以事实证明 Internet Explorer 不喜欢 parentNode.children[0]。 要获取parentNode 的第一个孩子,请使用parentNode.firstChild。这使得脚本与 IE 兼容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-02
    • 2013-03-02
    • 2012-09-17
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 2013-08-14
    • 2011-11-16
    相关资源
    最近更新 更多