Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 IE(至少11)和Edge在d3.js中不识别.length属性_Javascript_Internet Explorer_D3.js - Fatal编程技术网

Javascript IE(至少11)和Edge在d3.js中不识别.length属性

Javascript IE(至少11)和Edge在d3.js中不识别.length属性,javascript,internet-explorer,d3.js,Javascript,Internet Explorer,D3.js,我正在为主要使用d3.js的网页构建一组“拨号盘”和菜单。在Chrome和Firefox中,一切都像想象的那样绘制,但IE11和Edge似乎存在一个问题,主要是弄清楚以下d.name.length属性: function drawChart2(data2) { var arc2 = d3.arc() .outerRadius(chartHeight/1.4) .innerRadius(chartHeight/1.25) .padAngle(0.01); var hal

我正在为主要使用d3.js的网页构建一组“拨号盘”和菜单。在Chrome和Firefox中,一切都像想象的那样绘制,但IE11和Edge似乎存在一个问题,主要是弄清楚以下d.name.length属性:

function drawChart2(data2) {

var arc2 = d3.arc()
    .outerRadius(chartHeight/1.4)
    .innerRadius(chartHeight/1.25)
    .padAngle(0.01);

var halfPie = d3.pie()
    .value(function(d) { return d.name.length; })
    .startAngle(90 * (Math.PI/180))
    .endAngle(Math.PI);

var rimG = rimChart.selectAll('g')
    .remove()
    .exit()
    .data([data2])
    .enter()
    .append('g');

var block2 = rimG.selectAll('.rim')
    .data(halfPie)
    .enter()
    .append('g')
    .classed('rim', true);
这是动态创建“菜单”过程的一部分,其中插槽大小/宽度基于基础菜单(数据)项/文本长度,沿以下几行创建:

但是,我收到以下错误消息,例如在IE11下:

SCRIPT5007:无法获取属性“length”的值:对象为null或未定义

如果我硬编码一个长度值而不是使用d.name.length,同样的错误仍然存在,但现在似乎出现在d3.js本身:文件:d3.v4.min.js,行:5,列:5647,在以下代码中:

var a,c,s,f,l,h=t.length

现在我已经阅读了有关MS浏览器中长度属性的问题,但在这里无法真正指出问题所在。这是我这里的代码中的一个问题,还是d3.js与IE的兼容性问题,是否有一个合理的IE解决方案来获取d.name的length属性?

您可以设置一个,即一个可执行的演示文件作为堆栈片段、JSFIDLE、Codepen或类似的东西吗?这里的d.name类型是什么?它是一个SVGLengthList吗?你能设置一个,例如,一个可执行的演示,作为堆栈片段、JSFiddle、Codepen或类似的东西吗?这里的d.name类型是什么?它是一个SVGLengthList吗?