2013-11-29 3 views
0

Я использую svg в своем приложении, и я динамически создаю путь в своем приложении и отлично его работаю, но в консоли браузера он выдает ошибку, такую ​​как SVG4601: SVG Path data has incorrect format and could not be completely parsed. Я искал много, но я не нашел лучшего решения.SVG4601: данные SVG Path имеют неправильный формат и не могут быть полностью разобраны

Это мой код, чтобы создать путь SVG динамически

var path = document.createElementNS("http://www.w3.org/2000/svg", "path"); 
path.setAttribute("d", "path data(Path is too long so can't provide here)"); 
path.setAttribute("fill", "green"); 
path.setAttribute("stroke", "red"); 
path.setAttribute("stroke-width", "3");  
$('#svgContainer').appendChild(path); 

Как преодолеть эту ошибку, и есть ли, что мне нужно изменить в своем коде? Есть ли что-нибудь, что мне нужно добавить для восстановления после этой ошибки?

Любые предложения будут оценены.

+2

Ошибка говорит «неправильный формат пути», поэтому вам нужно показать значение, которое вы передаете в качестве пути, -) – Sirko

+0

@Sirko, я отправил свой путь здесь http://jsfiddle.net/L3wcV/. – karthik

+0

Это на самом деле несколько путей. AFAIK 'z' или' Z' должна быть последней командой в пути. После этого вы начинаете новый путь, который должен иметь свой собственный элемент. – Sirko

ответ

1

Ошибка возникает в или только до этого момента: L 512.888916015625,192.22222900390625

Похоже, у вас есть неправильное число значений для предварительной команды, которую я считаю C 512.888916015625,192.88888549804687 512.888916015625,193.55555725097656...

The number of values between the C and the L must be divisible by 6, У вас есть 25 пар, если я не просчитался т.е. 50 значений, которые не делятся на 6.

Смежные вопросы