折れ線グラフを生成しようとしていますが、関数 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)"></path>
何か案が ?この関数なしでこの長さを取得する他の方法はありますか?
よろしく、ジョアン