Greasemonkey Manual:API: Difference between revisions

From GreaseSpot Wiki
Jump to navigationJump to search
m (→‎Common Task Helpers: use standard casing in xhttp)
(remove confusing lead-in text, a run-on sentence that provides almost zero information. alphabetize section contents)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Greasemonkey Manual TOC}}
{{Greasemonkey Manual TOC}}
== 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 API Methods ==


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


=== Headers ===
=== Headers ===
Line 15: Line 10:


=== Values ===
=== Values ===
; [[GM_deleteValue]] : This deletes a value from chrome that was previously set.
; [[GM_getValue]] : A function intended to get stored values, see [[GM_setValue]] below.
; [[GM_getValue]] : A function intended to get stored values, see [[GM_setValue]] below.
; [[GM_listValues]] : This API method retrieves an array of preference names that start with the branches root.
; [[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_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_deleteValue]] : This deletes a value from chrome that was previously set.
; [[GM_listValues]] : This API method retrieves an array of preference names that start with the branches root.


=== Resources ===
=== Resources ===
; [[GM_getResourceText]] : Like the previous, loads raw, plaintext from a resource.
; [[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_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 raw, plaintext from a resource.
=== Programmatic ===
; [[GM_log]] : A function that accepts a parameter which will be routed to the Error Console, useful for examining values when writing a script.


=== Common Task Helpers ===
=== Common Task Helpers ===
; [[unsafeWindow]] : This object provides access to the raw JavaScript <code>window</code> scope of the content page. It is most commonly used to access JavaScript variables on the page.
; [[GM_addStyle]] : A function, taking one parameter, a string of CSS to apply to the page.
; [[GM_addStyle]] : A function, taking one parameter, a string of CSS to apply to the page.
; [[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.
; [[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 <code>window</code> scope of the content page. It is most commonly used to access JavaScript variables on the page.


=== Other ===
=== Other ===
; [[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 <code>window.open()</code>, 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 user interface.
; [[GM_registerMenuCommand]] : An advanced function which allows a user script to register a menu item, and command to run when clicked, in the Firefox user interface.
; [[GM_openInTab]] : Similar in spirit to <code>window.open()</code>, this function accepts a single parameter, the URL of a page to open in a new tab.


== Notes ==
== Notes ==

Revision as of 14:01, 30 October 2009


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

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

Headers

Metadata Block
Through JavaScript comments, Greasemonkey has a specialized metadata capability, which gives information about the script, and recently, provides resources and functionality to scripts.

Values

GM_deleteValue
This deletes a value from chrome that was previously set.
GM_getValue
A function intended to get stored values, see GM_setValue below.
GM_listValues
This API method retrieves an array of preference names that start with the branches root.
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.

Resources

GM_getResourceText
Like the previous, loads raw, plaintext from a resource.
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.

Common Task Helpers

GM_addStyle
A function, taking one parameter, a string of CSS to apply to the page.
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. It is most commonly used to access JavaScript variables on the page.

Other

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 user interface.

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.0