Talk:Greasemonkey Manual:API: Difference between revisions

From GreaseSpot Wiki
Jump to navigationJump to search
m Reverted edits by 189.81.153.24 (Talk) to last revision by Marti
m Arantius moved page User:Greasemonkey Manual:API to Talk:Greasemonkey Manual:API over redirect: revert
 
(46 intermediate revisions by 26 users not shown)
Line 1: Line 1:
== GM_getObject/GM_setObject ==


I think these two additional functions might be handy:
{{Function|GM_getObject|name, default}}<br/>
{{Function|GM_setObject|name, value}}
==== Implementation: ====
function GM_getObject(name, defaultValue) {
var s = GM_getValue(name);
if (s === undefined) {
return defaultValue;
}
else {
return JSON.parse(s);
}
}
function GM_setObject(name, value) {
GM_setValue(name, JSON.stringify(value));
}
: It is the general policy of Greasemonkey to ''not'' implement a special API just to build something that a user script can easily do on its own.  Something like this is a perfect candidate for a reusable component in the [[:Category:@require Library]]. [[User:Arantius|Arantius]] 12:55, 27 July 2010 (UTC)

Latest revision as of 23:31, 2 October 2023

GM_getObject/GM_setObject

I think these two additional functions might be handy:

function GM_getObject( name, default )
function GM_setObject( name, value )

Implementation:

function GM_getObject(name, defaultValue) {
	var s = GM_getValue(name);

	if (s === undefined) {
		return defaultValue;
	}
	else {
		return JSON.parse(s);
	}
}

function GM_setObject(name, value) {
	GM_setValue(name, JSON.stringify(value));
}
It is the general policy of Greasemonkey to not implement a special API just to build something that a user script can easily do on its own. Something like this is a perfect candidate for a reusable component in the Category:@require Library. Arantius 12:55, 27 July 2010 (UTC)