|Original author(s)||Aaron Boodman|
|Developer(s)||Anthony Lieuallen, Johan Sundström, 13 more|
|Initial release||28 March 2005|
|Stable release||1.14 / 15 January 2014|
||It has been suggested that some portions of this article be split into articles titled Greasemonkey and Userscript. Please discuss this on the article's talk page. (November 2013)|
|Origins and lineage|
Greasemonkey is a Mozilla Firefox extension that allows users to install scripts that make on-the-fly changes to web page content after or before the page is loaded in the browser (also known as augmented browsing).
The changes made to the web pages are executed every time the page is viewed, making them effectively permanent for the user running the script.
Greasemonkey can be used for customizing page appearance, adding new functions to web pages (for example, embedding price comparisons within shopping sites), fixing rendering bugs, combining data from multiple web pages, and numerous other purposes.
userscripts.org maintains a database of Greasemonkey scripts, and for each, lists the URLs of web pages to which the script pertains. Users of Greasemonkey can write or download scripts and save them to their own personal library. When users visit a website matching a script in their personal script library, Greasemonkey invokes the relevant scripts.
Scripts are named somename.user.js, and Greasemonkey offers to install any such script when a URL ending in that suffix is requested. Greasemonkey scripts contain metadata which specifies the name of the script, a description, resources required by the script, a namespace URL used to differentiate identically named scripts, and URL patterns for which the script is intended to be invoked or not.
Greasemonkey is available for Firefox, Flock and Web (formerly called Epiphany). The Greasemonkey extension for Web is part of the Web extensions package. However, this extension is not fully compatible as of release 2.15.1, since some Greasemonkey API functions (e.g. GM_getValue) are unsupported. There are also custom versions for SeaMonkey and Songbird.
As of February 2010[update], Chrome has limited "native support" for Greasemonkey scripts. They are internally converted to extensions, and are managed as such. Chrome honors the @include and @exclude directives, and introduces the @match objective as a simplified way to select specific domains/pages specified. In Chrome, scripts that use Firefox-specific functionality will break, and several Greasemonkey features are unavailable. More compatibility is provided by the "TamperMonkey" extension, giving support for GreaseMonkey specific features.
On Safari for Mac (and other WebKit applications), there is a SIMBL-managed plug-in called GreaseKit. Since the release of Safari 5 there is an extension called NinjaKit that uses the new API interface. Fluid is a site-specific browser with integrated GreaseKit.