
Ο Firebug είναι ένα δωρεάν εργαλείο ανοικτού κώδικα, διαθέσιμο ως επέκταση του Mozilla Firefox, το οποίο επιτρέπει την αποσφαλμάτωση, την επεξεργασία και την παρακολούθηση των CSS, HTML, DOM και JavaScript από κάθε ιστοσελίδα.
Επίσης ο Fidebug διαθέτει σύστημα ανάλυσης των επιδόσεων μιας ιστοσελίδας καθώς επίσης και και μια κονσόλα στην οποία μπορείτε να παρακολουθείτε τα σφάλματα που προκύπτουν από τη JavaScript όπως επίσης να παρακολουθείτε και τις τιμές διάφορων μεταβλητών.
Το εργαλείο αυτό το συνοδεύουν και άλλα εργαλεία που έχουν ως αποτέλεσμα να ενισχύουν την παραγωγικότητα των προγραμματιστών διαδικτύου. Στον Firebug θα βρείτε όλα τα εργαλεία που χρειάζεστε για να αναλύσετε, να κάνετε αποσφαλμάτωση και να παρακολουθήσετε τη JavaScript, τα CSS, την HTML και ερωτήματα AJAX.
Μερικά από τα σημαντικότερα εργαλεία του Firebug είναι ο το πρόγραμμα αποσφαλμάτωσης, η κονσόλα προβολής σφαλμάτων, η γραμμή εντολών, και η μεγάλη ποικιλία εργαλείων επιθεώρησης στοιχείων HTML.
Ο Firebug έχει δημιουργηθεί ως AddOn για τον Firefox και μπορεί να εγκατασταθεί στον Firefox όπως και όλα τα άλλα AddOn. Αν θέλετε να τρέξετε τον Firebug σε άλλο περιηγητή (πχ. Internet Explorer, Opera, Safari, κ.α.) υπάρχει μια έκδοση του σε μορφή JavaScript η οποία όμως δεν έχει όλες τις λειτουργίες του κανονικού Firebug. Βάση της έκδοσης του περιηγητή σας μπορείτε να εγκαταστήσετε τις ακόλουθες εκδόσεις του Firebug :
Για να εγκαταστήσετε τον Firebug στον Firefox, επισκεφθείτε την σελίδα http://getfirebug.com και κάντε Click στο σύνδεσμο “Install Firebug on Firefox”
Για να χρησιμοποιήσετε τον Firebug Lite σε άλλο περιηγητή από τον Firefox επισκεφθείτε τη σελίδα http://getfirebug.com/firebuglite , αντιγράψτε το αρχείο JavaScript από εκεί και ενσωματώστε το στη σελίδα σας.

Αυτό είναι το πρώτο βήμα για να εντοπίσετε ένα στοιχείο της HTML.
Υπάρχει ακόμα ένας γρήγορος και εύκολος τρόπος για να κάνετε την ίδια εργασία. Εντοπίστε το στοιχείο που θέλετε να επιτηρήσετε, κάντε δεξί Click πάνω του και από το αναδυόμενο μενού επιλέξετε “Επιτήρηση αντικειμένου”. Τέλος, μπορείτε να επιλέξετε ένα κόμβο στο DOM και να παρακολουθήσετε από εκεί το CSS του στοιχείου, τη δομή του και τις ιδιότητες του στο DOM.

Πληκτρολογήστε των κώδικα που ακολουθεί σε μια σελίδα, αποθηκεύστε τη σελίδα σε ένα αρχείο html και ανοίξτε το με ένα Firefox που έχει ενεργοποιημένο το Firebug.
<html>
<head>
<title>Firebug</title>
<script type="text/javascript">
function bar()
{
console.profile(‘Measuring time’);
foo();
console.profileEnd();
}
function foo()
{
loop(1000);
loop(100000);
loop(10000);
}
function loop(count)
{
for(var i=0;i<count;i++){}
}
</script>
</head>
<body>
Click this button to profile JavaScript
<input type=”button” value=”Start” onclick=”bar();”/>
</body>
</html>
Αφού ανοίξετε τη σελίδα με τον Firefox κάντε Click στο κουμπί Start για να αρχίσει η ανάλυση του κώδικα JavaScript. Θα δείτε ένα πίνακα που θα δημιουργηθεί στην κονσόλα του Firebug. Η περιγραφή και ο σκοπός αυτού του πίνακα αναλύετε παρακάτω:

Ο Firebug σας επιτρέπει να εισάγετε σημεία διακοπής στην εκτέλεση του κώδικα JavaScript και εκτέλεση βήμα βήμα του κώδικα.
Δημιουργήστε μια σελίδα html και βάλτε τον παρακάτω κώδικα.
<html>
<head>
<title>Javascript Debugging</title>
<script type="text/javascript">
function populateDiv()
{
var divElement = document.getElementById("messageLabel");
divElement.innerHTML = "Lorem ipsum dollor";
}
</script>
</head>
<body>
<div id="messageLabel"></div>
<input type="button" value="Click Me!" onclick="populateDiv();" />
</body>
</html>
Ανοίξτε τώρα αυτή τη σελίδα με τον Firefox και κάτω από την καρτέλα “Σενάριο εντολών”, μετακινήστε το ποντίκι σας πάνω από τη γραμμή που φαίνεται και στην εικόνα παρακάτω και κάντε click αριστερά από τον αριθμό γραμμής για να δημιουργήσετε ένα σημείο διακοπής

Τώρα είστε έτοιμοι να παρακολουθήσετε τη συμβαίνει στον κώδικα σας. Κάντε Click στο κουμπί “Click Me!” που έχουμε μέσα στη σελίδα μας για να αρχίσει η εκτέλεση των εντολών. Μετά το Click θα παρατηρήσετε πως η εκτέλεση του κώδικα σταματάει στην γραμμή που βάλαμε το σημείο διακοπής.
Τώρα είστε σε θέση να εκτελέσετε τον κώδικα σας βήμα βήμα πατώντας ένα από αυτά τα κουμπιά (Συνέχεια, Βήμα μέσα, Προσπέρασε, Βήμα Έξω) που βρίσκονται κάτω από την καρτέλα “Σενάρια εντολών”
![]()

Με τον Firebug μπορείτε να προσθέσετε, να διαγράψετε και να επεξεργαστείτε τις ιδιότητες CSS ενός στοιχείου. Αυτό είναι ένα από τα ποιο χρήσιμα χαρακτηριστικά του Firebug, αφού σας επιτρέπει να διορθώσετε προβλήματα που προκύπτουν από τη CSS γρήγορα και εύκολα.
Με αυτό το εργαλείο οι αλλαγές που πραγματοποιούνται στην καρτέλα CSS του Firebug εφαρμόζονται άμεσα στο αντίγραφο της σελίδας που βλέπετε την δεδομένη χρονική στιγμή. Για παράδειγμα αν θέλετε να αλλάξετε το χρώμα ενός στοιχείου που επιτηρείτε κάντε τα ακόλουθα :
Για να απενεργοποιήσετε ένα κανόνα CSS, βάλτε το ποντίκι σας πάνω από τον κανόνα στα αριστερά του πάνω από το εικονίδιο
και κάντε Click
Για να αλλάξετε την τιμή κάποιου κανόνα κάντε απλά ένα Click στην τιμή του κανόνα και αμέσως η τιμή του θα μετατραπεί σε κείμενο για να το επεξεργαστείτε.
Επίσης αν έχετε αριθμητικές τιμές σε κάποιο κανόνα (πχ. width: 300px) μπορείτε να χρησιμοποιήσετε τα βελάκια πάνω και κάτω για να αλλάξετε τις τιμές διαδοχικά χωρίς να πληκτρολογείτε κάθε φορά νέα τιμή.
Ο Firebug μπορεί να παρακολουθεί την δικτυακή δραστηριότητα των σελίδων σας. Μια διαδικτυακή εφαρμογή μπορεί να είναι αργή σε κάποιο χρήστη λόγο του αργού δικτύου, λόγο λανθασμένης φόρτωσης των αρχείων, λόγο μεγάλου αριθμού αιτημάτων προς το διακομιστή διαδικτύου ή επειδή το στατικό περιεχόμενο της εφαρμογής δεν αποθηκεύεται στην Cache του περιηγητή.
Η καρτέλα Δίκτυο του Firebug σας επιτρέπει να παρακολουθείτε κάθε αρχείο που συσχετίζετε με τη δεδομένη σελίδα κάθε φορά, καθώς επίσης και τα ερωτήματα που γίνονται μέσω XHR. Η καρτέλα αυτή παράγει ένα γράφημα με διάφορες αποχρώσεις που ορίζονται ανάλογα με τον κύκλο της κάθε αίτησης. Η ακόλουθη εικόνα είναι ένα παράδειγμα μιας αίτησης :

Η ενεργοποίηση της επιλογής «Εμφάνιση XmlHttpRequest» στην καρτέλα Κονσόλα, επιτρέπει στον Firebug να λειτουργεί ως κατάσκοπος αιτημάτων AJAX

Κάθε XmlHttpRequest θα καταγράφετε στην κονσόλα, και από εκεί μπορείτε μετά να την απόκριση από το διακομιστή σε μορφή κειμένου, JSON ή XML. Αυτό είναι ένα πολύ χρήσιμο χαρακτηριστικό του Firebug που θα σας βοηθήσει πολύ στην αποσφαλμάτωση του AJAX κώδικα σας.
Μπορείτε επίσης να παρατηρήσετε τα Headers αιτήματος και απόκρισης από και προς το διακομιστή, την απόκριση από το διακομιστή και άλλα πολλά.

Εξ ορισμού, όλες οι εντολές που εκτελείτε στη γραμμή εντολών του Firebug απευθύνονται αποκλειστικά στο κεντρικό παράθυρο στο οποίο εκτελείτε ο Firebug. Για παράδειγμα δεν μπορείτε να εκτελέσετε μια εντολή η οποία βρίσκεται μέσα σε μια σελίδα που έχει φορτωθεί σε ένα στοιχείο iFrame. Ευτυχώς οι προγραμματιστές του Firebug το έχουν προβλέψει και μας έχουν τη λύση. Η μέθοδος cd() σας επιτρέπει να αλλάξετε το πλαίσιο του παραθύρου από βασικό παράθυρο σε iFrame
Στη γραμμή εντολών του Firebug χρησιμοποιήστε το ακόλουθο συντακτικό για μια σελίδα που έχει ένα στοιχείο iFrame
cd(window.frames[0]); // Μπορείτε επίσης να χρησιμοποιήσετε τους επιλογείς στοιχείων $, $$ ή $x για να επιλέξετε το ή τα στοιχεία iFrame της σελίδας σας.
Ο Firebug παρέχει μια μεγάλη συλλογή από συντομεύσεις για το πληκτρολόγιο και το ποντίκι ώστε να κάνει την εργασία ευκολότερη και ταχύτερη. Καθώς θα αποκτάτε όλο και μεγαλύτερη εμπειρία με τον Firebug θα διαπιστώσετε πως θα κάνετε όλο και συχνότερα χρήση αυτών των συντομεύσεων για να ολοκληρώσετε διάφορες εργασίες, αντί να ανοίξετε κάθε φορά τον Firebug και να κάνετε click σε διάφορες καρτέλες και κουμπιά.
Εμφανίζει ένα μήνυμα στην κονσόλα. Μπορείτε να περάσετε όσες παραμέτρους θέλετε και θα ενωθούν όλες μαζί σε μια γραμμή κειμένου χωρισμένη με κενά.
Εμφανίζει ένα μήνυμα στην κονσόλα, μαζί με ένα σύνδεσμο προς τη γραμμή στην οποία έγινε η κλήση.
Εμφανίζει ένα μήνυμα στην κονσόλα με το ανάλογο εικονίδιο και χρώμα και ένα σύνδεσμο προς τη γραμμή που έγινε η κλήση.
Εμφανίζει ένα μήνυμα στην κονσόλα με το ανάλογο εικονίδιο και χρώμα και ένα σύνδεσμο προς τη γραμμή που έγινε η κλήση.
Εμφανίζει ένα μήνυμα στην κονσόλα με το ανάλογο εικονίδιο και χρώμα και ένα σύνδεσμο προς τη γραμμή που έγινε η κλήση.
Πρώτα ελέγχει αν η έκφραση είναι αληθής. Αν η έκφραση είναι ψευδής θα εμφανίσει ένα μήνυμα στην κονσόλα και θα δημιουργήσει μια εξαίρεση.
Εκτυπώνει μια διαδραστική λίστα από όλες τις ιδιότητες ενός αντικειμένου. Το αποτέλεσμα αυτής της μεθόδου είναι παρόμοιο με αυτό της λίστας DOM
Εκτυπώνει μια έξοδο σε μορφή XML ενός στοιχείου HTML ή XML. Αυτή η μορφή εξόδου είναι παρόμοια με αυτή στην καρτέλα HTML.
Εκτυπώνει στην κονσόλα ένα σύνδεσμο προς το σημείο που έχει δηλωθεί αυτή τη μέθοδος.
Δημιουργεί ένα χρονόμετρο με το όνομα που ορίζετε μέσα στην μέθοδο. Καλέστε την μέθοδο console.timeEnd(όνομα) με το ίδιο όνομα για να σταματήσετε τη χρονομέτρηση και να εκτυπώσετε τον χρόνο που πέρασε από την δήλωση αυτής της μεθόδου.
Σταματάει ένα χρονόμετρο που ξεκίνησε με τη συνάρτηση console.time(όνομα), και εκτυπώνει το συνολικό χρόνο που πέρασε από την δήλωση της συνάρτησης console.time(όνομα).
Ενεργοποιεί το προφίλ της JavaScript. Το προαιρετικό όρισμα “τίτλος” θα πρέπει να έχει τον τίτλο που θα εκτυπωθεί στην κονσόλα για το συγκεκριμένο προφίλ
Απενεργοποιεί το προφίλ της JavaScript και εκτυπώνει την έκθεση που προκύπτει.
Εκτυπώνει τον αριθμό των φορών που μια γραμμή κώδικα κλήθηκε να εκτελεστεί. Το προαιρετικό όρισμα “τίτλος” θα εμφανίσει το αντίστοιχο μήνυμα μαζί με το σύνολο των κλήσεων.
Επιτρέπει την έξοδο από δεδομένα καρτελών στην κονσόλα.
Πχ.
var myTable = new Array(3);
for(var i = 0; i < 3; i++)
{
myTable[i] = [i+1, i+2,i+3,i+4];
}
console.table(myTable);
Επιστρέφει ένα μονό αντικείμενο με το συγκεκριμένο id
Επιστρέφει ένα πίνακα από στοιχεία που ταιριάζουν με τον συγκεκριμένο CSS selector
Επιστρέφει ένα πίνακα από στοιχεία που ταιριάζουν με τη συγκεκριμένη έκφραση xpath
Εκτυπώνει μια διαδραστική λίστα με όλες τις ιδιότητες του αντικειμένου.
Εκτυπώνει ένα XML ενός στοιχείου HTML ή XML.
Εξ ορισμού, όλες οι εντολές που εκτελείτε στη γραμμή εντολών του Firebug απευθύνονται αποκλειστικά στο κεντρικό παράθυρο στο οποίο εκτελείτε ο Firebug. Για παράδειγμα δεν μπορείτε να εκτελέσετε μια εντολή η οποία βρίσκεται μέσα σε μια σελίδα που έχει φορτωθεί σε ένα στοιχείο iFrame. Ευτυχώς οι προγραμματιστές του Firebug το έχουν προβλέψει και μας έχουν τη λύση. Η μέθοδος cd() σας επιτρέπει να αλλάξετε το πλαίσιο του παραθύρου από βασικό παράθυρο σε iFrame
Καθαρίζει την κονσόλα
Επιτηρεί ένα αντικείμενο στην ποιο ιδανική καρτέλα, ή στην καρτέλα που έχετε ορίσει προαιρετικά στο δεύτερο όρισμα της μεθόδου. Τα διαθέσιμα ονόματα καρτελών είναι τα “html”, “css”, “script”, και “dom”
Επιστρέφει ένα array με όλες τα ονόματα όλων των ιδιοτήτων ενός αντικειμένου
Επιστρέφει ένα πίνακα που περιέχει όλες τις τιμές των ιδιοτήτων ενός αντικειμένου
Προσθέτει ένα σημείο διακοπής στην πρώτη γραμμή μιας συνάρτησης
Αφαιρεί το σημείο διακοπής από την πρώτη γραμμή μιας συνάρτησης.
Ενεργοποιεί την καταγραφή κάθε κλήσης προς μια συνάρτηση
Απενεργοποιεί την καταγραφή κάθε κλήσης προς μια συνάρτηση.
Ενεργοποιεί την καταγραφή όλως των συμβάντων που γίνονται στο αντικείμενο. Το προαιρετικό όρισμα “τύποι” μπορεί να χρησιμοποιηθεί για να καταγραφούν μόνο συγκεκριμένοι τύποι συμβάντων. Οι ποιο διαδεδομένοι τύποι είναι mouse και key. Η πλήρης λίστα με τους τύπους είναι η ακόλουθη: composition, contextmenu, drag, focus, form, key, load, mouse, mutation, paint, scroll, text, ui, και xul.
Απενεργοποιεί την καταγραφή των συμβάντων.
Ενεργοποιεί το προφίλ για τη JavaScript. Το προαιρετικό όρισμα “τίτλος” στη μέθοδο εμφανίζει το μήνυμα ως τίτλο του προφίλ
Απενεργοποιεί το προφίλ για τη JavaScript και εκτυπώνει την έκθεση.
Όλες οι μέθοδοι καταγραφής του Firebug μπορούν να μορφοποιήσουν ένα κείμενο με τους ακόλουθους χαρακτήρες.
Μορφοποιεί το αντικείμενο ως κείμενο
Μορφοποιεί το αντικείμενο ως αριθμό
Μορφοποιεί το αντικείμενο ως σύνδεσμο προς της θέση του αντικειμένου
Μορφοποιεί το αντικείμενο ως ένα διαδραστικό πίνακα των ιδιοτήτων του.
Μορφοποιεί το αντικείμενο ως ένα πίνακα των ιδιοτήτων του.
Μορφοποιεί το αντικείμενο ως ένα διαδραστικό έγγραφο XML
Μορφοποιεί το αντικείμενο ως ένα XML έγγραφο σε επίπεδα.
[...] This post was mentioned on Twitter by Web Resoures.eu, Web Resoures.eu. Web Resoures.eu said: Κάντε την αρχή με τον Firebug 1.5 : http://j.mp/9tDzGJ [...]