Using content preferences
出典: MDC
この記事は Firefox 3 の新機能について述べています
Firefox 3 は、コンテンツの設定を保存する事ができます。この機能はサイトごとの設定をコンピューターに保存するため chrome 権限が与えられたコードでしか利用できません。言い換えるなら、拡張機能とブラウザ自体(Web サイトを除く)からのみ利用できると言う事です。この機能を使用することで特定の Web サイトをカスタマイズする(例えば文字が小さく読み難いサイトで、文字を大きくする)拡張機能を作成する事ができます。
コンテンツ設定サービスは nsIContentPrefService によってインプリメントされています。この機能を使用して特定の Web サイトに設定したりブラウザの既定設定を割り当てる事ができます。もし特定の Web サイトから設定を取得できない場合はブラウザの既定設定が使用されます。
今のところ、サイト単位で保存される設定は、テキストズームとページズームのみです。
[編集] 例: 設定の保存と読み込み
このサンプルは設定を保存した後、保存された設定を読み込んでいます。
var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var prefService = Components.classes["@mozilla.org/content-pref/service;1"]
.getService(Components.interfaces.nsIContentPrefService);
// Create a URI object referencing the site to save a preference for
var uri = ioSvc.newURI("http://developer.mozilla.org/", 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");