GM.deleteValue: Difference between revisions

From GreaseSpot Wiki
Jump to navigationJump to search
(simplify)
(Update for 4.0)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:GM_deleteValue}}
== Description ==


== Description ==
This method deletes an existing name / value pair from storage.


This method deletes an existing persistent value
See [[GM.setValue]] for details regarding the storage of these values.
See [[GM_setValue]] for details on the storage of these values.


== Syntax ==
== Syntax ==


{{Function|GM_deleteValue|name}}
{{Function|GM.deleteValue|name}}


Compatibility: [[Version_history#0.8.20090123.1|Greasemonkey 0.8.1+]]
Compatibility: [[Version_history#4.0_2|Greasemonkey 4.0+]]


== Arguments ==
== Arguments ==


; <code>name</code>
; <code>name</code>
: Property name to delete.  See [[GM_setValue#Arguments|GM_setValue]] for details.
: Property name to delete.  See [[GM.setValue#Arguments|GM.setValue]] for details on what names are valid.


== Returns ==
== Returns ==


<code>undefined</code>
A [[Promise]], resolved successfully with no value on success, rejected with no value on failure.


== Examples ==
== Examples ==


Delete the stored name / value pair that has the name 'foo':
<pre class='sample'>
<pre class='sample'>
GM_deleteValue("foo");
GM.deleteValue("foo");
</pre>
</pre>


== See Also ==
Example showing the use of [[GM.listValues]] to delete ''all'' stored name / value pairs:
<pre class='sample'>
let keys = await GM.listValues();
for (let key of keys) {
  GM.deleteValue(key);
}
</pre>


* [[GM_getValue]]
Similar example to the above, but with a filter within the loop to exclude 'a' and 'foo' and 'bar' from deletion:
* [[GM_setValue]]
<pre class='sample'>
* [[GM_listValues]]
let keysToKeep = ['a', 'foo', 'bar'];
let keys = await GM.listValues();
for (let key of keys) {
  if (!keysToKeep.includes(key)) {
    GM.deleteValue(key);
  }
}
</pre>


== Notes ==
== See Also ==


An issue that some may encounter on some platforms is that the values appear to not be deleted or set.
* [[GM.getValue]]
This is usually due to a refreshing issue in the browser.
* [[GM.setValue]]
If about:config is refreshed in the window/tab this should resolve any questions about stability of setting and deleting system preferences.
* [[GM.listValues]]


[[Category:API_Reference|D]]
[[Category:API_Reference|D]]

Latest revision as of 14:23, 3 November 2017

Description

This method deletes an existing name / value pair from storage.

See GM.setValue for details regarding the storage of these values.

Syntax

function GM.deleteValue( name )

Compatibility: Greasemonkey 4.0+

Arguments

name
Property name to delete. See GM.setValue for details on what names are valid.

Returns

A Promise, resolved successfully with no value on success, rejected with no value on failure.

Examples

Delete the stored name / value pair that has the name 'foo':

GM.deleteValue("foo");

Example showing the use of GM.listValues to delete all stored name / value pairs:

let keys = await GM.listValues();
for (let key of keys) {
  GM.deleteValue(key);
}

Similar example to the above, but with a filter within the loop to exclude 'a' and 'foo' and 'bar' from deletion:

let keysToKeep = ['a', 'foo', 'bar'];
let keys = await GM.listValues();
for (let key of keys) {
  if (!keysToKeep.includes(key)) {
    GM.deleteValue(key);
  }
}

See Also