Firefox Extensions for Web Development

From Jimbojw.com

Jump to: navigation, search
Tip: This is part of the Weekly Web Hack article series. If you like it, please subscribe to my blog. Thanks!

In this week's Weekly Web Hack, I'll take a step back from my usual foray into the bowels of web hackery and instead answer a question I get every so often: Which Firefox Extensions do you use?

For convenience, I have broken them up into groups. In this first article on Firefox Extensions, I'll focus on those most useful for Web Development.

Without further ado, here's the list (sorted alphabetically):

Chrome List

Provides a way to take a look at all of Firefox's files. Useful for digging into the innards of someone else's extension.

Console2

Replaces the default JavaScript error console with a better one. To be honest, I use this infrequently as I usually monitor errors via Firebug.

DOM Inspector

Lets you visually "walk the DOM" of a page, inspecting each element. Like Console2, I rarely use this, instead relying on features of Firebug.

Aside: Technically this isn't an extension, since it's built into Firefox, but it does require a separate package install if you're running Debian or a derivative.

Edit Cookies

Gives you a nice UI for finding and manipulating cookies. I use this when I'm investigating session related issues, or if I just want to see what information can be harvested from a site's cookie set.

Extension Developer

Provides a host of useful Firefox Extension development tools - too many to list here in fact. The only thing I'll say is that if you're developing Firefox extensions, you should seriously look into using this extension to help.

Firebug

Firebug is an absolutely invaluable Web Developer tool. Most frequently I use its integrated JavaScript console to poke around the JS environment of webpages, but its HTML viewer/editor and integrated DOM inspector are both top-notch.

If you have Firebug installed, you can actually write messages to its console from your in-page JavaScript using the console object. For instance, executing console.log('hello there') will write out 'hello there' to the console.

You can use this as a debugger, by conditionally creating a dummy console object if it doesn't already exist. Something like this would work:

if (!console) console = {};
if (!console.log) console.log = function(){};

The console object has other methods as well such as warn, info and error if you want to be more granular in your debugging output.

FireFTP

Simple FTP client, support storing known hosts and authentication credentials. I use it because it's cross-platform, so no matter which OS I'm in, I have a familiar FTP interface.

Greasemonkey

This is the Swiss-army-knife of Firefox extensions. Greasemonkey allows you to inject custom JavaScript into any webpage based on simple URL filtering rules. And since you can manipulate the DOM via JavaScript, adding new HTML or CSS content, you can see that this gives you full power over any website.

Uses for Greasemonkey scripts range from simple usability hacks (for example for sites designed for IE), to full-blown applications. It can be used to remove annoying advertisements from websites, or add new swaths of functionality to existing sites.

I highly recommend existing and aspiring web developers spend some time becoming familiar with Greasemonkey.

JavaScript Debugger

Code named Venkman, the JavaScript Debugger provides an inroad to JavaScript like no other extension. For me, this is more of a last-resort than an everyday kind of tool, but there are times when it is by far the best tool for the job.

Tamper Data

Tamper Data allows you to monitor, record, and even modify HTTP/HTTPS requests and responses. That is, it gives you a window into all the little requests your browser makes when trying to render a web page.

I have written a Tamper Data tutorial, which I encourage you to read if you'd like more information about it.

User Agent Switcher

Allows you to easily change your browser's reported User Agent string. Useful for sites that employ user agent sniffing to deny users of non-accepted browsers. Such sites are becoming more rare, but you still see the occasional IE-only website.

View Source Chart

Provides a colorful view of the source of a webpage. Consider this an alternative to traditional View Source. Sometimes useful if you're trying to make sense of a convoluted, many-nested bit of HTML.

Web Developer

Another "must have" web development extension. Web Developer provides many, many functions - too many to mention them all here.

A few that I use often include the CSS Editor (allows you to modify the CSS of a page in real-time), and the Element Information inspector which gives you detailed information about a page element simply by clicking on it.

Enjoy! As always I'll be happy to answer any questions.


Comments

rasta said ...

There are 2 really good ones that you left out. ColorZilla, and MeasureIt. I found these 2 an excellent addition to my extension tool box!

--rasta 00:22, 11 December 2007 (MST)

Jimbojw said ...

Thanks rasta!

I'll definitely give ColorZilla and Measureit a try.

Thanks for the tip!

--Jimbojw 06:00, 11 December 2007 (MST)

Rich LaMarche said ...

I haven't used View Source Chart, but do use HTML Validator which validates the page when you view the source. If you have to support IE clients, one of the IE View addons is a necessity.

--Rich LaMarche 08:43, 11 December 2007 (MST)

Brutuscat said ...

I also use Cookiepie, witch is very usefull to debug your sessions.

--Brutuscat 09:45, 11 December 2007 (MST)

Dave McFarland said ...

You left out the best feature of View Source Chart: it shows you the DOM after JavaScript has messed with it, so you can see the final rendered DOM--not just the source of the HTML doc. That's really helpful if you do a lot of DOM scripting.

--Dave McFarland 10:25, 11 December 2007 (MST)

Jimbojw said ...

Hi Rich,

I haven't had a need yet to use HTML Validator since Web Developer has a validation option in the toolbar.

One nicety of HTML Validator would be that it can re-validate a page after JavaScript DOM manipulation. Thanks for the tip!

--Jimbojw 10:34, 11 December 2007 (MST)

Jimbojw said ...

Hi Dave,

Good point! I neglected to mention that View Source Chart shows the rendered DOM tree, not just the initially loaded tree.

That said, I personally rarely use View Source Chart for this purpose however, instead relying on Firefox's innate ability to View Selection Source (right-click on a selected body of text to see this option).

Another extension I used to use which provides the same functionality is View Formatted Source, but since I discovered Firebug's HTML viewer and DOM inspector functions, I haven't needed it.

--Jimbojw 10:42, 11 December 2007 (MST)



Got something to say?

Leave a comment

Name (required):

Website:

Comment:

or, read what others have said...