Как отладить плохой анализ SVG в Firefox? (т.е. "Неожиданное значение X разбора атрибута Y" в консоли ошибок) - PullRequest
9 голосов
/ 19 сентября 2011

Резюме:

Я хочу видеть более подробные сообщения об ошибках синтаксического анализа XML / SVG. Я хочу знать, где происходят ошибки. Как я могу это сделать?

Справочная информация:

Я работаю с некоторыми сложными SVG-файлами, созданными в JavaScript, в Firefox. По мере разработки, иногда при поиске большого я вижу ошибки в консоли ошибок Firefox (или firebug) «Неожиданное значение NaN parsing y attribute». Это довольно ясно. Тем не менее, в Firebug нет ни номера строки, ни кода, по сути, нет способа отследить, где происходит эта ошибка.

При использовании простого JS необходимо отслеживать неверный код. Однако, так как мой JS усложняется, мне действительно нужно увидеть, какая из сотен потенциальных линий вызывает это.

В идеале я хотел бы видеть эту ошибку синтаксического анализа так же, как я вижу ошибки JS или HTML:

Unexpected value NaN parsing y attribute.
Line 103:    svgElement.setAttribute('x', some_bad_js_variable);

Есть ли способ сделать это? Даже знание того, на какой SVG-элемент воздействует, может помочь что угодно, кроме «где-то произошла ошибка». Спасибо!

Ответы [ 2 ]

3 голосов
/ 26 мая 2014

Почти три года спустя и с использованием Firefox 29.0.1 у меня возникла та же самая сложность. Я заканчивал тем, что комментировал последовательные блоки кода, пока не нашел ошибочную строку.

FWIW, в моем случае Firefox не понравился тот факт, что я создал узел с пустыми атрибутами:

    <clipPath id="chart_area">
       <rect x="" y="" width="" height=""/>
    </clipPath>

Как только я удалил атрибуты или установил их на любое значение, проблема исчезла. Я был удивлен, потому что ожидал, что ошибка будет в Javascript. Я надеюсь, что это помогает кому-то еще.

1 голос
/ 11 ноября 2011

Вызовите ошибку в bugzilla и попросите добавить имя тега элемента к сообщению об ошибке: https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG

Добавление номера строки будет более трудным.Если вы тоже этого хотите, создайте еще одну ошибку специально для нее, так как у вас меньше шансов ее получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...