Greasemonkey is a versatile Firefox extension that's been gaining popularity lately. For end users, it's a nicely encapsulated bookmarklet engine with some powerful features; For web developers, it's a rapid development platform for site-specific extensions. It allows you - as a power user of either kind - to automatically execute pieces of JavaScript code in the context of an existing unmodified web page, and thus to make radical changes in how your favorite sites work.

This is especially useful when you find yourself hacking around a (mis)feature on a certain website, where the solution should really have been embedded in the page in the first place. Take E2 Searching Without Linking as an example: There are all sorts of ways to do that, but wouldn't it be nicer to just have a "Don't Link" checkbox next to the Search button on every page? It's a piece of cake to add it on the client side with Greasemonkey, without ever touching the original page's source code.

User scripts in Greasemonkey are stored as separate .user.js files, and can be installed and configured in a few clicks, thanks to a number of optional metadata tags. This is a big improvement over bookmarklets, with all the compacting, formatting, and dragging and dropping they required...

Update May 2006: A major Greasemonkey security hole was discovered in July 2005, prompting a swift rewrite of key parts of the JavaScript injection code that makes Greasemonkey tick. In the months since this serious wake-up call, though, security has been superb.

E2-related Greasemonkey User Scripts (submissions welcome):


Greasemonkey's home page at http://greasemonkey.mozdev.org/ provides the extension itself as well as valuable links for developers and users.

Log in or register to write something here or to contact authors.