Greasemonkey Manual:API

From GreaseSpot Wiki
Revision as of 18:52, 30 December 2008 by Aavindraa (talk | contribs) (Greasemonkey Manual:APIs moved to Greasemonkey Manual:API: not plural)
Jump to navigationJump to search

Greasemonkey Manual
Using Greasemonkey
Installing Scripts
Monkey Menu
Getting Help
User Script Authoring
Editing
Environment
API

What is an API?

An API, or application programming interface, provides a framework, or set of commonly used functions or methods in a program, or in this case, Greasemonkey.

The APIs

This section of the manual will be short and sweet. As mentioned elsewhere, Greasemonkey provides APIs to enhance the power of user scripts. They will be listed here, with a brief description, but each separate API call has its own page with more in-depth information, please continue reading there!

GM_addStyle
A function, taking one parameter, a string of CSS to apply to the page.
GM_getValue
A function intended to get stored values, see GM_setValue below.
GM_setValue
A function that accepts the name and value to store, persistently. This value can be retrieved later, even on a different invocation of the script, with GM_getValue.
GM_log
A function that accepts a parameter which will be routed to the Error Console, useful for examining values when writing a script.
GM_openInTab
Similar in spirit to window.open(), this function accepts a single parameter, the URL of a page to open in a new tab.
GM_registerMenuCommand
An advanced function which allows a user script to register a menu item, and command to run when clicked, in the Firefox UI.
GM_xmlhttpRequest
A version of the xmlHttpRequest method underlying AJAX, this API call does not use the same-origin policy that a script running in a normal page is limited with, allowing complex mashups.
unsafeWindow
This object provides access to the raw javascript window scope of the content page.
GM_getResourceURL
A function that loads an external resource via a URL, such as an image, and returns the string containing the base64 encoded in the data: URL scheme.
GM_getResourceText
Like the previous, loads text from a resource.


Notes

All GM_* functions were blocked in version 0.3.5, due to security vulnerabilities. These functions were restored with updates making them secure, and the new unsafeWindow object was added, in version 0.5.