Today I discovered GreaseMonkey mozdev.org – greasemonkey: home. Greasemonkey is a Firefox extension which lets you to add bits of DHTML (“user scripts”) to any web page to change its behavior. In much the same way that user CSS lets you take control of a web page’s style, user scripts let you easily control any aspect of a web page’s design or interaction.
Installation takes all of 3 minutes and you can then start adding (or writing) GreaseMonkey scripts, I have started with a few scripts that do the following:
- Create a Table of Contents for any WebPage – it displays a select-list at the bottom of your webpage; the list contains all header elements (h1..h#) in the page. By selecting an element in the list, the browser scrolls to that position in the webpage. This is really useful!
- Add zooming to images – a nice but not as useful script that adds a zoom menu to any image displayed in webpages I visit; with this zoom-menu I can zoom in or out on these images (usually not resulting in a very sharp images by the way)
- Debuggin XmlHttpRequest (when doing AJAX) – What it shows is the XMLHttpRequest debugging console, a floating div embedded in the page being debugged. This replaces the javascript console, which the previous script used for tracing. Each individual XMLHttpRequest invocation will get listed there, with all the details on the request and the response, as well as options to edit and replay the request or replay the response callback.
- Check Range. It lets you check or uncheck a range of checkboxes by clicking the first checkbox and then Shift+clicking the last checkbox.
There is a long list of GreaseMonkey scripts at http://dunck.us/collab/GreaseMonkeyUserScripts. Other examples include: Exchequer: Convert prices to your own currency by hovering over them. Handles multiple currencies with the same symbol., Expand TextArea: allows you to resize textareas., Expand TextArea: allows you to resize textareas., Expand TextArea: allows you to resize textareas., PostInterceptor: Intercept POST requests and let user modify before submit.
My challenge now of course is to write my own user scripts…
GreaseMonkey is great, just make sure that you get the patched version, there are some security issues with older versions.