Непойманный TypeError: не Может считать свойство 'длина' неопределенных

У меня есть плагин тот доступ length свойство на многих элементах. Однако консоль JavaScript указывает для выравнивания 12 из jquery.min.js.

Как может я след для нахождения незаконной строки в моем плагине?

8
задан maček 23 March 2013 в 19:52
поделиться

2 ответа

Как я могу найти ошибочную строку в моем плагине?

firebug - отличный способ отладить эти ошибки.

alt text
(источник: getfirebug.com )

4
ответ дан 5 December 2019 в 14:00
поделиться

Если вы используете минифицированные скрипты, любой отладчик (например, лучший firebug) покажет вам ту же проблемную строку, и эта информация бесполезна (минифицированные скрипты трудно читать и понимать, и они написаны на 1 строка).

Несколько способов решения подобных проблем:

  1. Как было сказано до меня: для разработки используйте не минифицированные скрипты, отладчик покажет вам строку, которая что-то означает, и вы, если вам повезет, сможете найти очень полезные комментарии разработчиков.
  2. Если вы не можете найти полную версию скрипта, используйте unminifier вроде этого: http://jsbeautifier.org/ (вставьте минифицированный скрипт и нажмите кнопку ниже). Добавьте в свой проект uminified скрипт и снова запустите недопустимую функцию. Отладчик снова покажет вам линию, но на этот раз вы увидите реальную логическую линию, и вы сможете понять, в чем проблема в большинстве случаев.
  3. Отладчик покажет вам, какой сценарий вызывает проблему. Проверьте, есть ли новые версии этого скрипта. Однажды у меня была такая же проблема, я нашел строку минифицированного скрипта, имя плагина (несколько строк выше в авторских правах), а затем обнаружил, что доступна новая версия.Просмотрел журнал изменений и обнаружил: « Добавлены несколько« проверок работоспособности »по всему коду на предмет потенциальных неизвестных значений атрибутов » - выстрел в голову :) Обновленный скрипт, и теперь все в порядке, без специальной отладки, занимающей несколько часов.
  4. Погуглите вашу ошибку с именем скрипта - это мне очень помогало ... Возможно, вы это сделали, но, возможно, вы не пробовали использовать речевые метки "" - Google вернет страницы с точной фразой в тексте.
6
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: