Greasemonkey Hacks/Preface

From WikiContent

Jump to: navigation, search
Greasemonkey Hacks

Greasemonkey is a Firefox extension that allows you to write scripts that alter the web pages you visit. You can use it to make a web site more readable or more usable. You can fix bugs that site owners can't be bothered to fix themselves. You can alter pages so they work better with assistive technologies that speak a web page out loud or convert it to Braille. You can even automatically retrieve data from other sites to make two sites more interconnected.

Greasemonkey by itself does none of these things. In fact, after you install it, you won't notice any change at all …until you start installing what are called user scripts. A user script is just a chunk of JavaScript, the same scripting language you use on your own web site. But user scripts don't run on your own web site; they can run on any web site, and they can do anything JavaScript can do. In fact, they can do more than that, because Greasemonkey provides special API functions that give user scripts even more power than traditional JavaScript.

Contents

Why Greasemonkey Hacks?

The term hacking has a bad reputation in the press. They use it to refer to someone who breaks into systems or wreaks havoc with computers as their weapon. Among people who write code, though, the term hack refers to a "quick-and-dirty" solution to a problem, or a clever way to get something done. And the term hacker is taken very much as a compliment, referring to someone as being creative, having the technical chops to get things done. The Hacks series is an attempt to reclaim the word, document the good ways people are hacking, and pass the hacker ethic of creative participation on to the uninitiated. Seeing how others approach systems and problems is often the quickest way to learn about a new technology.

Greasemonkey has existed for less than a year, and hundreds of people have already written thousands of Greasemonkey scripts to scratch their own personal itches. Web enthusiasts with zero JavaScript experience have written scripts to route around broken web sites, alter site styles, and roll back ill-conceived site redesigns. More experienced coders have created link trackers, password managers, and personal shopping agents. Some have even added entirely new features to complex web applications—without ever needing to talk to the application developers or wait for bureaucratic approval.

Clearly, there were a lot of itches waiting to be scratched.

Some hacks in this book are short and sweet; they do one thing and do it well. (One is just a single line of code!) Other hacks are hundreds of lines long, complete with their own user interface, their own data cache, and their own preferences. This book showcases the best of the best, from "Hey, that's always bugged me," to "Gee, I don't know how I ever lived without this," to "Wow, I had no idea a browser could do that."

How This Book Is Organized

You can read this book from cover to cover if you like, but each hack stands on its own, so feel free to browse and jump to the different sections that interest you most. If there's a prerequisite you need to know about, a cross-reference will guide you to the right hack.

The book is divided into 12 chapters, roughly organized by topic:

Chapter 1, Getting Started
It's hard to do cool stuff when you don't even know where to click. The hacks in this chapter will get you started using the Greasemonkey interface, installing user scripts, and developing your own.
Chapter 2, Linkmania!
The Web revolves around links. Make them work for you! Learn how to control links that try to open a new window, launch unwanted applications, execute JavaScript, or otherwise behave badly. Plus, see how to follow links without clicking.
Chapter 3, Beautifying the Web
The Web revolves around links. Make them work for you! Learn how to control links that try to open a new window, launch unwanted applications, execute JavaScript, or otherwise behave badly. Plus, see how to follow links without clicking.
Chapter 4, Web Forms
You can't spit in this town without hitting a web form. <input> boxes in particular make a satisfying "ping" when you hit them. Discover what all those forms are doing behind your back. Plus, never forget a web site password again.
Chapter 5, Developer Tools
You don't just live online; you occasionally work there, too. Make the browser a better tool for web development with these hacks. Does the term AJAX ring a bell? You're going to love this chapter.
Chapter 6, Search
Hey there! Yes, you. Stop searching for porn long enough to read this chapter. It's all about how to make searching the Web easier and faster. What you do with that information is between you and your webcam.
Chapter 7, Web Mail
Web-based email sucks. But you can't live without it. Have you ever accidentally hit "Reply All" instead of "Reply"? (Did your coworkers ever forgive you?) Who the hell put them one inch away from each other? Find out how to add essential features to web mail services such as Gmail and Yahoo! Mail.
Chapter 8, Accessibility
Accessibility affects everyone, in every walk of life. One in 13 workers reported some form of disability last year. Learn how to make your own web site more accessible, and see how Greasemonkey can help people with disabilities use the Web.
Chapter 9, Taking Back the Browser
Invasive site registrations. Brain-dead browser sniffers. Frames. Something about the Web makes content providers stupid. Learn how to route around them.
Chapter 10, Syndication
Blogs are all the rage. They've reached the tipping point. They've jumped the shark. They've taken the meme by the horns and the cliché by the throat. Dive into the wonderful world of syndicated feeds.
Chapter 11, Site Integration
Find a book on Amazon.com and get price quotes from five other retailers without leaving the page. Enough said.
Chapter 12, Those Not Included in This Classification
Good things come to those who wait. No, wait; this is a Hacks book! Jump right to the end; I've saved the best for last.

Conventions Used in This Book

The following is a list of the typographical conventions used in this book:

Italics
Used to indicate URLs, filenames, filename extensions, and directory/folder names. For example, a path in the filesystem appears as /Developer/Applications.
Constant width
Used to show code examples, the contents of files, console output, as well as the names of variables, commands, and other code excerpts.
Constant width bold
Used to highlight portions of code, typically new additions to old code.
Constant width italic
Used in code examples and tables to show sample text to be replaced with your own values.

You should pay special attention to notes set apart from the text with the following icons:

Tip

This is a tip, suggestion, or general note. It contains useful supplementary information about the topic at hand.

Warning

This is a warning or note of caution, often indicating that your money or your privacy might be at risk.

The thermometer icons, found next to each hack, indicate the relative complexity of the hack:

Image:Greasemonkey Hacks_I__tt3.png beginner Image:Greasemonkey Hacks_I__tt4.png moderate Image:Greasemonkey Hacks_I__tt5.png expert

Using Code Examples

This book is here to help you get your job done. Thus, you may use the code in this book in your programs and documentation without contacting us for permission as long as you are reproducing limited portions for use in your own original programming and documentation projects, consistent with fair use under U.S. copyright law.

Thus, although incorporating some code from this book in a program that you write does not require permission, permission is required (whether or not you charge for access) if you want to include our code examples in a collection, inventory, or code repository—for instance, in a DVD collection of code examples from O'Reilly books. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product's documentation does require permission.

If you reproduce portions of our code examples, we appreciate an attribution that informs people of the title, author, publisher, and ISBN for this book, such as: "Greasemonkey Hacks by Mark Pilgrim, Copyright © 2006 O'Reilly Media, Inc., 0-596-10165-1."

Information about fair use is available on the Copyright Office web site (www.copyright.gov), and from other online sources such as Stanford University's copyright and fair use page (http://fairuse.stanford.edu/).

Permission requests for proposed uses of code examples that fall outside the scope of fair use should be sent to permissions@oreilly.com.

Safari Enabled

Greasemonkey Hacks_I__tt6.pngWhen you see a Safari® Enabled icon on the cover of your favorite technology book, that means the book is available online through the O'Reilly Network Safari Bookshelf.

Safari offers a solution that's better than e-books. It's a virtual library that lets you easily search thousands of top tech books, cut and paste code samples, download chapters, and find quick answers when you need the most accurate, current information. Try it for free at http://safari.oreilly.com.

How to Contact Us

We have tested and verified the information in this book to the best of our ability, but you may find that features have changed (or even that we have made mistakes!). As a reader of this book, you can help us to improve future editions by sending us your feedback. Please let us know about any errors, inaccuracies, bugs, misleading or confusing statements, and typos that you find anywhere in this book.

Please also let us know what we can do to make this book more useful to you. We take your comments seriously and will try to incorporate reasonable suggestions into future editions. You can write to us at:

O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international/local)
(707) 829-0104 (fax)

To ask technical questions or to comment on the book, send email to:

bookquestions@oreilly.com

The web site for Greasemonkey Hacks lists examples, errata, and plans for future editions. You can find this page at:

http://www.oreilly.com/catalog/greasemonkeyhks

For more information about this book and others, see the O'Reilly web site:

http://www.oreilly.com

Got a Hack?

To explore Hacks books online or to contribute a hack for future titles, visit:

http://hacks.oreilly.com

Personal tools