Unstable
Access the Preferences system in Firefox. This enables add-ons to get and set system-wide settings. These are the same preferences that are exposed to users in the about:config
page.
preferences/service
gives you full access to the preferences system. You can also use the simple-prefs module to access just the preferences for your own add-on and expose them to the user in the Add-on Manager.
Globals
Functions
set(name, value)
Sets the application preference name
to value
.
Parameters
name : string
Preference name.
value : string,number,boolean
Preference value.
Example:
var name = "extensions.checkCompatibility.nightly"; require("sdk/preferences/service").set(name, false);
get(name, defaultValue)
Gets the application preference name
.
Parameters
name : string
defaultValue : string,number,boolean
Preference value.
Returns
string,number,boolean : Preference value, returns defaultValue
if no preference is set, returns undefined
if defaultValue
is not provided.
Example:
var name = "extensions.checkCompatibility.nightly"; var nightlyCompatChk = require("sdk/preferences/service").get(name);
has(name)
Parameters
name : string
Preference name.
Returns
boolean : Returns whether or not the application preference name
exists.
defaultValue
Example:
var name = "extensions.checkCompatibility.nightly"; if (require("sdk/preferences/service").has(name)) { // ... }
keys(root)
Parameters
root : string
Preference root name.
Returns
array : Returns an array of strings representing the child preferences of the root of this branch.
isSet(name)
Parameters
name : string
Preference name.
Returns
boolean : Returns whether or not the application preference name
both exists and has been set to a non-default value by the user (or a program acting on the user's behalf).
Example:
var name = "extensions.checkCompatibility.nightly"; if (require("sdk/preferences/service").isSet(name)) { // ... }
reset(name)
Clears a non-default, user-set value from the application preference name
. If no user-set value is defined on name
, the function does nothing. If no default value exists the preference will cease to exist.
Parameters
name : string
Preference name.
Example:
var name = "extensions.checkCompatibility.nightly"; require("sdk/preferences/service").reset(name);
getLocalized(name, defaultValue)
Gets the localized value for an application preference name
.
Parameters
name : string
defaultValue : string
Preference value.
Returns
string : Localized preference value, returns a default value if no preference is set. Some preferences refer to a properties file. So that prefs.get
returns the properties file URL whereas prefs.getLocalized
returns the value defined in the properties file.
Example:
var prefs = require("sdk/preferences/service"); var name = "general.useragent.locale"; prefs.get(name); // is equal to "chrome://global/locale/intl.properties" prefs.getLocalized(name) // is equal to "en-US"
setLocalized(name, value)
Sets the localized application preference name
to value
.
Parameters
name : string
Preference name.
value : string
Preference value, a URL to a properties file
Example:
require("sdk/preferences/service").set("general.useragent.locale", "chrome://global/locale/intl.properties");
Example: Setting Global Preferences
var { get, set } = require("sdk/preferences/service"); var { when: unload } = require("sdk/system/unload"); var oldValue = get("browser.urlbar.autoFill"); set("browser.urlbar.autoFill", true); // By AMO policy global preferences must be changed back to their original value unload(function() { set("browser.urlbar.autoFill", oldValue); });