Перейти к контенту

Рекомендуемые сообщения

xRay стесняюсь спросить, а как пользоваться файрбугом?

Вот мне например надо пошагово выполнить js скрипт и на определённом шаге посмотреть чему будет равна переменная.

Послеловательность действий можешь подсказать?

Ссылка на комментарий
Поделиться на других сайтах

Song

Конечно могу. Вот такая последовательность действий:

1. Заходишь в FireFox на страничку в которой ты JS-код отлаживать хочешь

2. Открываеш окно самого FireBug

3. В окне FireBug Переходишь на вкладку "Script"

4. Находишь в окне "Script" кусок JS-кода который ты собираешся отлаживать (или начиная с котрого ты хочеш начать пошаговое выполнение скрипта) и ставишь на нем брекпойнт (в окне с бряками "Breakpoints" он тут же появится)

5. Запускаешь старничку на выполнение и как только JS-код дойдет до утсановленого тобой брекпойнта выполнение JS-кода остановится и ты увидешь какие перменные в отлаживаемой функции сейчас есть и чему они равны. Дополнительно можно в "Watch" занести перменные занчение кторых хочется контролировать

6. Ну и как обычно дальше уже можно делать пошаговое выполнение JS-кода или с заходом внутрь (F10) или без захода (F11) и т.д.

 

Как видишь очень удобно и полная аналогия например с отладкой кода в Делфи. :D

 

Про отладку Аякса там тоже удобно (это видно в общей "Console" там Get и Responce на Аякс-запрос видно) + видно наглядно то что добавляется в HTML код на странице (На закладке "HTML") и т.д.

 

Ну и еще до кучи FireBug можно юзать не только в FireFox, но и под другие барузеры, но он там облегченый какой-то (тут http://www.getfirebug.com/ )

Ссылка на комментарий
Поделиться на других сайтах

Не получается.

 

В жизни ведь не бывает, чтобы js был в html'е.

ява-скрипт у меня в js файле, а в html куске только вызов процы из этого js файла.

 

Допустим в html'е у меня:

<a href="java script:void(0);" onMouseOver="get_selection('','><','1192788349','121621');" onClick="Insert();">Быстрая цитата</a> ·

 

Мне нужно отладить процу Insert например или get_selection (без разницы)

Я ставлю брэйкпоинт на эту строку, строка переносится вправо, в область точек останова, но выполнение не останавливается на этой строчке :D ни когда я навожу на ссылку ни когда я на неё кликаю.

 

А ну понял, там нужно js файл в другом месте вызвать.

 

Насчёт Оперы и ослика кстати. Так я и не догнал как им пользоваться в контексте этих браузеров.

 

Почитал это установил на страничку, нажимаю F12.

В Опере оно у меня почему-то появляется под форумом (на слой z ниже). В IE вроде работает, появляется область пустая. Как и что в ней делать - хз.

Ссылка на комментарий
Поделиться на других сайтах

Да, получилось спасибо.

 

Но мне нужно было как раз оперу, потому как мне требовалось отладить ту ветку условия, в которую фокс не попадает :D

Ссылка на комментарий
Поделиться на других сайтах

гы )

алертом что ли? Уж не принимай ты меня совсем за ....

 

 

Есть же стандартные приемы трассировки джаваскрипт...

Написать?

FatCat мне надо наименее маятный способ, чтобы не приходилось туда сюда кидать файл и перезагружать страницу. Отладка в контексте страницы - лучший вариант.

Ссылка на комментарий
Поделиться на других сайтах

гы )

алертом что ли?

В простеньких случаях - алертом.

Когда нужно посложней, можно сбрасывать в window.status. Помогает быстро найти момент прекращения выполнения кода.

Если всю трассировочную информацию, то открыть попап и, не закрывая объект document в попапе, сброс в него всей отладочной информации.

 

 

 

Уж не принимай ты меня совсем за ....

Я тебя принимаю за хорошего программиста.

Не собираюсь учить азам. Есть свои любимые приемы, которых нет ни в одном учебнике.

Ссылка на комментарий
Поделиться на других сайтах

Ну ок, уговорил :D

Трассировщик скриптов:

В самое начало страницы (перед всеми скриптами) вставляю скрипт, открывающий пустой попап:

tlt=open('','Tlt','width=199,height=100,left=1px,top=1px')

Затем все скрипты обрабатываю трассировщиком и пересохраняю.

Трассировщик:

<html><head>
<script type="text/javascript">
function formate(){
str=tld=''
var stroki = new Array()
stroki=document.forma.area.value.split('\n')
for(i in stroki){
stroki[i]=stroki[i].split("\n").join("")
tld=stroki[i].split("\n").join("|").split("'").join("'")
if(tld.length>0){
str+='tlt.document.write(\''+tld+'<br>\');\n'+stroki[i]+'\n'
}
}
str=str.split(String.fromCharCode(13)).join('')
document.forma.area.value=str
}
</script>
</head>
<body>
<form action="java script:formate()" method="POST" name="forma" id="forma">
<textarea name="area" cols="80" rows="30"></textarea>
<br><br><input type="Submit" value="Go!">
</form>
</body></html>

 

Теперь можно открывать трассируемую страницу (откроется попап), и жать нужные кнопки; в попапе напишутся только те команды джаваскрипт, которые выполнялись.

Если скрипт работает с ошибкой, строка, вызвавшая ошибку, будет последней в попапе.

Ссылка на комментарий
Поделиться на других сайтах

  • 8 месяцев спустя...

И так :D

 

К FireBUG появилась отличная примочка и называется она FirePHP служит для отладки PHP код

Брать тут: http://www.firephp.org

Описание что к чему: http://habrahabr.ru/blog/php/45907.html

 

Ну еще полезные штуковины и тоже под FireBUG:

http://habrahabr.ru/blog/webdev/47551.html

Ссылка на комментарий
Поделиться на других сайтах

Интересно как можно отлаживать php на стороне клиента? o_O
Ссылка на комментарий
Поделиться на других сайтах

Song

FirePHP состоит из дух частей:

1. это плагин к FireBUG

2. это PHP класс для отсылки отладочных сообщений в плагин FirePHP

ты пробани это даже удобно

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
:D М..спасибо...и вправду хорошая вешь ибо чтобы не выводить сверху форума(там всякими echo и print_r) легче через него пропустить....
Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...

Здравствуйте !

 

У меня возник такой вопрос можно ли при отладки странички занести изменения сразу на сервер ?

если да то как ?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.