Talk:Greasemonkey Manual:API: Difference between revisions

From GreaseSpot Wiki
Jump to navigationJump to search
No edit summary
m (Arantius moved page User:Greasemonkey Manual:API to Talk:Greasemonkey Manual:API over redirect: revert)
 
(47 intermediate revisions by 26 users not shown)
Line 1: Line 1:
hhgjhswes
== 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)