Как обработать разделитель строки пути в chrome и IE для пончиков с использованием D3. js? - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь получить положение четырех концов кусочков пончика дуг, созданных с помощью d3. js. Если вы видите эту диаграмму: Donut slices В IE срез пончика получает следующую строку:

M -318.303 -27.631 A 319.5 319.5 0 0 1 -313.043 -63.9105 L -69.6404 -13.828 A 71 71 0 0 0 -70.7 -6.52054 Z

, а в chrome аналогичный срез получает следующую строку:

M-312.4,-3.8257966005363313e-14A312.4,312.4 0 0,1 -311.29259530331694,-26.280793544437252L-77.82314882582924,-6.570198386109313A78.1,78.1 0 0,0 -78.1,-9.564491501340828e-15Z

Подход, который я использую, заключается в использовании фрагментов после разделения параметра 'd' в ar c с использованием разделителя '' (пробел) или ',' (запятая). Например:

var fragment18A = d3.select(this).attr("d").split(",")[18];
var fragment19 = d3.select(this).attr("d").split(",")[19];
var fragment20 = d3.select(this).attr("d").split(",")[20];
var fragment0 = d3.select(this).attr("d").split(",")[0];
var fragment1 = d3.select(this).attr("d").split(",")[1];
var fragment25, fragment26;

Как мне написать javascript код, который дает мне четыре конечные точки в chrome и IE с одинаковым кодом?

Здесь - это скрипка js какого-то старого кода, которая не может отобразить фрагменты в IE. к сожалению, js fiddle не работает в IE (вам придется скачать html и запустить локально).

...