Как смотреть ошибки. Firebug.
В начале работы с javascript у Вас будет возникать масса ошибок.
Firebug поможет с их отловом, покажет где и почему они произошли.
К сожалению, он работает только в Firefox (и других браузерах на движке Mozilla), но более удобного инструмента на текущий день нет.
При установленном плагине Firebug наличие ошибок видно в правом нижнем углу браузера, в конце статусной строки.
Firebug-значок может иметь один из трех видов:
- Галочка в зеленом кружке
- Все в порядке. Firebug работает, ошибок не замечено.
- Буква f в сером кружке
- Firebug отключен. Кликните по кружку правой кнопкой мыши и снимите галочку с Disable Firebug.
- Крестик в красном кружке
- Произошла ошибка javascript. Клик на кружке откроет консоль Firebug. Клик на ошибке в консоли переведет Вас на строку скрипта, где произошла ошибка.
Для эксперимента создадим функцию divide , которая делит свой аргумент на некое число, и назначим ее запуск по клику на кнопку:
<html>
<head>
<script>
function divide(number) {
var result = number / divisor
alert(number+"/"+divisor+" = "+result)
}
</script>
</head>
<body>
<h1>Кнопка запуска</h1>
<!-- по клику будет происходить вызов divide(6) -->
<input type="button" value="Запустить" onclick="divide(6)"/>
</body>
</html>
Запишите этот код в файл divide.html и запустите. Нажатие на кнопку покажет ошибку при включенном Firebug:
Кликнув на красный текст, мы откроем консоль Firebug, где содержится более подробная информация, включающая текст ошибки и строку, на которой она произошла:
У строчки с ошибкой "divisor not defined" Вы видите плюсик. Он раскрывает последовательность вложенных вызовов, которые привели к печальному результату.
Клик на строке с ошибкой переводит во вкладку Script, где можно увидеть сам скрипт:
Теперь понятно, что ошибка возникла потому, что переменная divisor не определена. Поправим функцию divide так, чтобы она спрашивала ее у посетителя:
function divide(number) {
var divisor = prompt("На что делить "+number+"?")
var result = number / divisor
alert(number+"/"+divisor+" = "+result)
}
Поправив код, обновите страничку. Сообщение об ошибке должно исчезнуть.
Теперь, нажимая кнопку "запустить", попробуйте вводить разные числа и сгенерировать таким образом еще одну ошибку .
Вам откроется одна из особенностей языка javascript. Арифметические операции никогда не приводят к ошибкам. Можно делить на ноль, текстовую строку - на что угодно.
Подробнее об особенностях типов данных в javascript написано в статье Базовые типы javascript
В Firebug также есть многие другие возможности, например логирование в консоль командой console.log , встроенный отладчик скриптов и т.п.
Документация по этим возможностям присутствует на сайте http://firebug.ru.
Качать здесь: https://addons.mozilla.org/ru/firefox/addon/1843
|
А где можно скачать этот дебугер?
качать тут
https://addons.mozilla.org/ru/firefox/addon/1843
firebug наверное рулит, но сохранил скрипт в отдельном файле, как было показано в прошлом уроке, сохранил с ошибкой как описано выше, firebug ничего не показал =((( попробовал в Google Chrome запустить, там есть подобный инструмент в "управлении текущей странице"->"Разработчикам"->"Консоль JavaScript", который с радостью показал на мою ошибку в отдельном файле. ИМХО удобней и не надо качать адон.
Не перевариваю фф, юзаю оперу. там есть все такие же аналогичные встроенные инструменты + есть dragonFly (оч удобная штука) и никаких проблем вообще нету.
dragonfly очень нестабилен, я поначалу тоже им пользовался, но очень медленный, плюс падает как и опера от всяких iframе'ов =))
Спасибо за статью !
I agree thanks! fence company near me
) спасибо за статью и за весь сайт) мне как начинающему очень помогает)
Я конечно извиняюсь, но у меня не сработал firebug(v. 1.3.0), причем даже после того, как я поставил точку с запятой в конец каждой строки скрипта. И только после того, как я прописал переменную divisor равной 2 скрипт чудесным образом правильно сработал. В чем может быть дело?
Спасибки за Firebug и разработчикам и этому сайту за ссылочки.
Я доволен
Да, вещь отличная, давненько такое искал, а вот вопрос: где можно достать русификатор для него, а то вместо русского текста в скрипте отображаются "козяблики"?
Такая же беда - в FireBug русские текстовые сообщения в теле скрипта превращаются в непонятно что ((
сохрани документ в формате UTF-8, а не Default...
все будет ок
У меня Firebug вообще не показывает ошибки, какой бы код я не запускал. Вместо описанных значков на панели есть только изображение жука. установлены последние версии браузера и приложения. в чем может быть проблема?
во вкладке "Console" по умолчанию три чекбокса, выбирай их, чтобы включить, или в контекстном меню(справа от console стрелочка вниз) выбирай Enabled
А включать его не пробывал?
А у меня тоже есть
Инструменты>>Дополнительно>>Консоль ошибок
или можно чтоб вылазило при возникновении ошибки
Да можно по умолчанию вырублена консолька т.к. тама написано почему)) Над ток врубить и справа в углу есть опции какие показывать ошибки, а какие нет. Тада как ошибка в углу вместо жука скок ошибок вылазит)
Тож поначалу непонял чего их нет)
немного запутанно кажется написал но думаю будет понятно))
Более полно тема отладки JavaScript причем в разных браузерах раскрыта в статье Отладка JavaScript в Opera, FireFox, IE и Safari
Отладке и разработке посвящен целый раздел: Редактирование и отладка скриптов.
Хочу добавить, что бы вставить breakpoint прямо в исходный код, нужно написать debugger, и когда выполнение дойдет до этой строки firebug остановится.
У меня Firebug 1.4.2, там внизу изображение жука. С ним вести себя надо точно так же - кликнуть правой и поставить галочку "включить на всех страницах". Появится открывшееся окошко Firebugа. Чтобы он работал, а окошко не мешало, можно его свернуть (если нажать кнопочку "оff" окошко естетсвенно тоже пропадет, но фаербаг при этом выключится).
Firebug сразу можно найти не скачивая в Интсрументы>Дополнения>Поиск дополнений (первая иконка) ввести Firebug и установить.
Это чтобы не искать его где-то - здесь сразу последняя версия
вопрос как сделать что бы переменная внести ввод переменной i в отдельную функцию так, что бы она потом была определена и для другой функции.. я так понимаю ее надо сделать глобальной? (знание програминга на уровне написания калькулятора на делфи извините)
Вы так хотели ?
var i = prompt("что делить ?")
function divide(number) {
var divisor = prompt("На что делить "+i+"?")
var result = number / divisor
alert(i+"/"+divisor+" = "+result)
}
Кнопка запуска
объяви вне кода.... и как static
В IE выдается сообщение "Ошибка на странице"
у меня firefox 3.6.7 и firebug 1.5.4 сделала все как было сказано выше жучок горит в консоле нужные галочки отмечены.. а ошибку все равно видеть не хочет... Хотя при переходе на различные сайты он периодически выдает какое нибудь предупреждение
Для Хрома появилась версия. Без дебуггера.
Нафига? В хроме и без того есть чудесные средства разработки, которые намного лучше, чем огнежук.
Кстати, наверное имеет смысл упомянуть инструменты для отладки JavaScript которые теперь есть далеко не только в Firefox. Ведь chrome, opera, internet explorer 8 и 9 уже имеют свои отладчики.
Здравствуйте!
Подскажите пожалуйста, почему когда я скачала версию Firebug 1.7.3при написании тэгов, они(тэги) не выделяются ни красным, ни синим..Может нужно другую версию скачать? Заранее Спасибо!
Должен заметить, что пошаговое выполнение в IE реализовано лучшим образом из всех отладчиков, которые мне доводилось видеть (сказывается "привычка" мелкомягких разрабатывать IDE).
Если бы не "специфика" браузера, он был бы лучшим средством тестирования.
Но увы. Поэтому я пользуюсь всеми четырьмя.
Преимущественно - FireBug, но когда он не даёт адекватной картины, перехожу на IE.
Отладчики Opera и Chrome имеют чертовски неудобный интерфейс, поэтому я использую их только для отлова специфических глюков этих браузеров.
Ещё: в FF7 нет нижней панели, поэтому огнежук отображается сверху справа, и там же ошибки.
Такая же проблема с отображением русских букв. Кодировку менял не помогает. Может есть какой другой способ?
Такая же проблема с отображением русских букв. Кодировку менял не помогает. Может есть какой другой способ?
Есть. Почитать учебник по html. Разобраться с тегом meta. И добавить его в исходник страницы.
спасибо, помогло
То, что нужно. быстрая разработка
Visit sexkontakt uster and enjoy free caht with hot local ladies today
dominatrix perth is the great web platform for finding sex contact
It’s hard to come by experienced people in this particular topic,but you sound like you know what you’re talking about! Thanks basketball legends
Blog with lots of information. Visiting your blog helped me get what I was looking for. If you have more time, please visit:
directions maps
https://1363.cx.ua/
https://1776.cx.ua/
https://884.cx.ua/
https://952.cx.ua/
https://1939.cx.ua/
https://401.cx.ua/
https://1754.cx.ua/
https://1085.cx.ua/
https://1256.cx.ua/
https://1789.cx.ua/
https://1794.cx.ua/
https://899.cx.ua/
https://1283.cx.ua/
https://1652.cx.ua/
https://1540.cx.ua/
https://893.cx.ua/
https://1654.cx.ua/
https://1778.cx.ua/
https://1431.cx.ua/
https://1284.cx.ua/
https://907.cx.ua/
https://1408.cx.ua/
Roksa swarzedz
Roksa pl zamknieta
Roksa elblag
Roksa kg
you will be surprised with this series of classic games, rolling ball 3d sums up all the players playing here, as opposed to the ball on the pitch, what will you do to send the ball in 3D away?
Thank you, sir, for your hard work and dedication. I'd want to express my heartfelt appreciation to you on behalf of both myself and your website visitors. I'm certain that I can get through to you. among us
Thank you for taking the time to talk about it; I have strong feelings about it and want to learn more about it. Would you mind adding information to your blog post? It will really benefit all of us. run 3
This is really informative! I really appreciate your effort here.
car detail Leander
Thank you for providing such useful information. I've been having trouble coming up with many questions about this topic. I'll stick with you! moto x3m bike race game
I feel great because I feel inspired by so many things,I appreciate the information and advice you shared.In addition to the useful information here, I am
geometry dash unblocked
sharing a game
This is very interesting, You are a very skilled blogger. I've joined your rss feed and look forward to seeking more of your wonderful 바카라사이트추천. Also, I have shared your website in my social networks!
One day I went to you and saw my comments, please tell me why you can write so well, you solved my confusion, let me open, you are really good, I like your posts, if you see the comments, I hope you reply to me will be very happy.https://totowho.com
You are a pretty talented blogger, and this is really interesting. I've subscribed to your bitlife RSS feed and am eager to read more of your fantastic
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.