3

折れ線グラフを生成しようとしていますが、関数 getTotalLength() を使用して SVG パスの長さを取得しようとするとエラーが発生します。Firefox 19.0.2 は正常に動作しますが、Safari 6.0.2 と Chrome 25.0.1364.160 はハングするため、これは私にとって奇妙です。

エラーが発生するコードは次のとおりです。

          function displayValueLabelsForPositionX(xPosition) {
            if (typeof jsondata.length == 'undefined') {
                return;
            }

            // position label values
            var pathEl = path.node();     
            var pathLength = pathEl.getTotalLength();

           (...)
         }

エラーは常に pathEl.getTotalLength() の呼び出しで発生し、パスは正しいように見えますが、長さが 150KB です。

<path class=​"line" d=​"M0.0020634675065341434,384.8476217601823C0.002751290008712191,384.8476217601822,0.0034391125108902388,384.8476217601822,0.004126935013068286,384.8476217601823C0.0048147575152463346,384.8476217601822,0.005502580017424381,384.8476217601822,0.006018446894057917,384.8476217601823C0.006534313770691453,384.8476217601822,0.006878225021780477,384.8476217601822,0.61216202693

(...)

1006.9979365324934,312.1617772714327" clip-path=​"url(#clip)​">​&lt;/path>​

何か案が ?この関数なしでこの長さを取得する他の方法はありますか?

よろしく、ジョアン

4

1 に答える 1