Firebug (software)
Original author(s) | Joe Hewitt |
---|---|
Developer(s) | Firebug Working Group |
Stable release | 2.0.16[1]
/ March 30, 2016 |
Repository | |
Written in | JavaScript, XUL, CSS |
Operating system | Cross-platform |
Type | Mozilla extension[2] |
License | New BSD License[3] |
Website | getfirebug |
Firebug is a free and open-source[4] web browser extension for Mozilla Firefox[2] that facilitates the live debugging, editing, and monitoring of any website's CSS, HTML, DOM, XHR, and JavaScript.[5]
Firebug is licensed under the BSD license[3] and was initially written in January 2006 by Joe Hewitt, one of the original Firefox creators.[6] The Firebug Working Group oversees the open source development and extension of Firebug. It has two major implementations: an extension for Mozilla Firefox and a bookmarklet implementation called Firebug Lite[7] which can be used with Google Chrome.[8]
In addition to debugging web pages, Firebug is a useful tool for web security testing[9] and web page performance analysis.[10]
Version history
Version 2.0
Firebug 2.0 introduced many new features to the Firebug extension including JavaScript syntax highlighting, pretty print for minified JavaScript code, and a DOM Event Inspector to handle all event handlers on a web page. Additionally, users can search for page elements using CSS selectors in the search bar. The debugging tool now allows users to inspect JavaScript expressions as they are evaluated. Moreover, users can inspect values returned from JavaScript functions. It also adds the ability to create new HTML attributes for existing HTML elements.[11]
Version 3.0
On November 10, 2014, Firebug 3.0 was announced and an alpha was made available to the public.[12] The next version will feature a new theme and will focus on user experience.
Features
Firebug makes changes immediately and gives constant feedback to the user. All editors in Firebug support autocomplete.[11]
The Firebug command line accepts commands written in JavaScript. The result of executing each command is displayed in the console, appearing as hyperlinks. The Firebug application contains multiple windows, splitting related features to a common window.[13] Firebug also allows users to view the download time for individual files. It separates different types of objects, such as JavaScript files and images, and can determined which files are loaded from a browser's cache. Firebug also features the ability to examine HTTP headers and time stamps relative to when an HTTP request is made.[14] Its net panel can monitor URLs that the browser requests, such as external CSS, JavaScript, and image files.
HTML and CSS
The HTML and CSS tools allow for the inspection and editing of HTML and CSS elements on a web page.[15] Later versions of Firebug allow users to see live changes to the CSS.[11] Visualization of CSS elements is shown while inspecting HTML elements. The Firebug layout tab is used to display and manipulate CSS property values. Furthermore, users can click on any visible HTML elements on a web page to access its CSS property values.[16]
JavaScript Console
Firebug's script tab enables users to set breakpoints and step through lines of code.[17] Additionally, Firebug can navigate directly to a line of JavaScript code, watch expressions, call stacks, and launch the debugger in the event an error occurs during execution. Firebug can also log errors. Logging uses a Firebug JavaScript API. Firebug's JavaScript panel can log errors, profile function calls, and enable the developer to run arbitrary JavaScript. Firebug allows users to run JavaScript code through the command line and allows the user to log errors that occur in the JavaScript, CSS, and XML. Firebug provides a separate text editor to modify the JavaScript and see immediate results on the user's browser.
As provided in an update, the JavaScript command line features an autocomplete function. The text editor also provides the ability to write full functions. Firebug requires a user to refresh a web page in the event of a crash.
Extensions
Many extensions have been made to enhance Firebug. Since Firebug is open source, users can contribute their own extensions to the Firebug community.[18]
FlashFirebug
FlashFirebug is a paid Firebug extension[19] that helps Flash and Flex developers debug SWF files on the web. FlashFirebug was developed by O-Minds[20] and is licensed under the GPLv3.
The extension displays textual Output from trace() commands within the SWF movie,[20] a Display Tree with the hierarchy of display objects and their properties,[20] viewers for AMF and Shared Objects,[20] and a tool to modify the 3D transformation of any display object on the stage.[20]
See also
- Flash of unstyled content
- Google Chrome Inspector
- Internet Explorer Developer Tools
- Opera Dragonfly
- Web Inspector
References
- ^ "Firebug Version History". Mozilla extension. 2016-03-30.
- ^ a b Mozilla Firefox Add-on
- ^ a b Overview of Firebug
- ^ Firebug on GitHub
- ^ Firebug Home Page
- ^ O'Reilly Performance Tools: Appendix - Even Faster Websites
- ^ Firebug Lite Homepage
- ^ Firebug Lite for Chrome
- ^ Hope, Paco; Walther, Ben (2008), Web Security Testing Cookbook, Sebastopol, CA: O'Reilly Media, Inc., ISBN 978-0-596-51483-9
- ^ "High Performance Web Sites", Steve Souders, CACM, Dec, 2008.
- ^ a b c Odvarko, Jan. "Firebug 2.0 Release". Firebug Working Group. Retrieved 15 October 2015.
- ^ Odvarko, Jan. "Firebug 3.0 The Next Generation". Firebug Working Group. Retrieved 10 November 2014.
- ^ Hewitt, J. (2007). Ajax debugging with firebug. Dr.Dobb's Journal, 32(2), 22-26.
- ^ What is Firebug?
- ^ Salkosuo, Sami. "Debug and tune applications on the fly with Firebug". IBM Developer Works. Retrieved 6 May 2008.
- ^ Zukerman, Erez. "Debug Web Pages in Firefox With Firebug". PC World. Retrieved 6 January 2012.
- ^ Suehring, Steve. "Identify JavaScript Problems with Firebug". Dummies.
- ^ List of Known Firebug Extensions
- ^ FlashFirebug Listing
- ^ a b c d e O-Minds FlashFirebug Product Page
Further reading
- Luthra, Chandan; Mittal, Deepak (April 7, 2010). Firebug 1.5: Editing, Debugging, and Monitoring Web Pages (1st ed.). Packt Publishing. p. 224. ISBN 1-84719-496-6.