Отладка исключения jquery с помощью Firebug - PullRequest
2 голосов
/ 28 июля 2010

Я получаю ошибку javascript, исходная строка которой находится в библиотеке javascript jquery:

uncaught exception: Syntax error, unrecognized expression: #

Я знаю, что это за ошибка: обычно это происходит, если вы попробуете что-то вроде:

$('#');

Однако я изо всех сил пытаюсь его отладить. Было бы просто, если бы я мог просто получить трассировку стека. Но Firebug отказывается либо от ошибок, либо отследить стек.

Я попытался нажать кнопку «Неисправность при ошибке», которая находится в левом верхнем углу панели консоли Firebug. Я также выбрал «Показать трассировку стека с ошибками» в меню консоли. Но исключение по-прежнему выводится без прерывания и без трассировки стека. Есть ли какая-то другая опция в Firebug, которую я мог бы использовать ... какие-нибудь хитрости для отладки этого сообщения?

Ответы [ 3 ]

2 голосов
/ 28 июля 2010

Загрузите разрабатываемую версию библиотеки jQuery. В функции jQuery добавьте вызов console.log для любого селектора, который был передан. Когда вы получите свое исключение, список печатных селекторов должен позволить вам выяснить, где ваш код работает неправильно.

2 голосов
/ 28 июля 2010

Для отладки попробуйте:

console.log("#");

или

console.trace();

Он выведет трассировки стека в консоль FB.

Я думаю, проблема в том, что вы пытаетесь выбрать пустой идентификатор ("#"), который выдает ошибку.Jquery, вероятно, анализирует / ищет идентификатор "", который является пустой строкой с использованием селекторов css.

1 голос
/ 28 июля 2010

Вы можете попробовать использовать инструмент Javascript Stacktrace (есть даже версия букмарклета).Вы также можете попробовать отладчики, встроенные в Safari или Chrome ... если, конечно, ваша проблема не связана с Firefox.

...