GMCommonAPI.js

GM Common API (GMC) is a simple library designed for easily adding Greasemonkey 4 compatibilty to existing userscripts

As of 2017-10-25. See the latest version.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/34527/226163/GMCommonAPIjs.js

Author
Stig Nygaard
Version
0.0.1.20171025193255
Created
2017-10-25
Updated
2017-10-25
Size
12 KB
License
N/A

GM Common Library (GMC) is an API designed for easily adding Greasemonkey 4 compatibility to existing userscripts.

GMC provides a common subset of the functionality offered by the new "asynchronous API" in Greasemonkey 4 (GM.*) and the classic "synchronous API" from other userscript managers (GM_*), offered in a single "classic" synchronous API (GMC.*).

With the introduction of the Greasemonkey 4 WebExtension (currently in beta [todo: link]), the classic GM_* "synchronous" API is replaced with a new GM.* "asynchronous API". The features of the new API in Greasemonkey 4 (GM4) are very similar to the classic API, but the functions are asynchronous. This means you might need to (learn asynchronous programming and) do some refactoring of your existing userscripts to make use of the new API in GM4.

As an alternative to refactoring your code, GMC offers a "synchronous subset" of the GM APIs, which works with scripts running in both the new GM4, in the older versions of Greasemonkey, and in other userscript managers like Tampermonkey and Violentmonkey. Where APIs are supported in GMC, no refactoring of your script is needed; Simply [todo: add GMC script/grants and] replace the use of GM_* methods in your script with equivalent GMC.* methods.

For more info, see GitHub [todo: link] or source code.