Using content preferences

This is an archived page. It's not actively maintained.

Firefox 3 は、コンテンツの設定を保存する事ができます。この機能はサイトごとの設定をコンピューターに保存するため chrome 権限が与えられたコードでしか利用できません。言い換えるなら、拡張機能とブラウザ自体(Web サイトを除く)からのみ利用できると言う事です。この機能を使用することで特定の Web サイトをカスタマイズする(例えば文字が小さく読み難いサイトで、文字を大きくする)拡張機能を作成する事ができます。

コンテンツ設定サービスは nsIContentPrefService によってインプリメントされています。この機能を使用して特定の Web サイトに設定したりブラウザの既定設定を割り当てる事ができます。もし特定の Web サイトから設定を取得できない場合はブラウザの既定設定が使用されます。

例: 設定の保存と読み込み


var ioSvc = Components.classes[";1"]
var prefService = Components.classes[";1"]

// Create a URI object referencing the site to save a preference for
var uri = ioSvc.newURI("", null, null);

// Set the value of the "devmo.somesetting" preference to "foo".

prefService.setPref(uri, "devmo.somesetting", "foo");


// Retrieve the value of the "devmo.somesetting" preference.

var value = prefService.getPref(uri, "devmo.somesetting");

Built-in site-specific preferences

Preference Name Menu Equivalent Values Notes


View / Zoom Example: "1.10000002384186"
(Rounding variant of "1.1")
Related about:config preferences:
  • browser.zoom.full
    Boolean, set by the menu item
    View / Zoom / Zoom Text Only.
    Despite the confusion in names, this preference is not site-specific.
  • browser.zoom.siteSpecific
  • toolkit.zoomManager.zoomValues
  • zoom.maxPercent and zoom.minPercent

  Path of a filesystem directory Related about:config preferences:
    The last directory for any site

Use DownloadLastDir.jsm for access to these preferences.

  Path of a filesystem directory This preference is stored and retrieved automatically by file upload controls.

Private browsing

Gecko 9.0 が必要(Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6)

Prior to Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6), the content preference service always stores preferences on disk. Because of this, in private browsing mode, use of the content preference service needed to be avoided while in private browsing mode; instead, information needed to be stored in memory or preferences had to be avoided. Starting in Gecko 9.0, when in private browsing mode, the content preference service stores preferences in memory instead of on disk, and automatically forgets them when leaving private browsing mode.