مقدمه
اگر در قسمت Address bar فایرفاکس عبارت about:config را تایپ کنید و اینتر بزنید وارد سیستم Preference این مرورگر میشوید. این مرورگر و افزونههایی که روی آن نصب میشوند از این سیتم به طور گسترده برای ذخیره سازی اطلاعات و تنظیمات خود استفاده میکنند.
اطلاعات در این سیستم با استفاده از نام ها (Preference Names) و مقادیر (Values) ذخیره میشوند. به عنوان مثال اگر عبارت browser.startup.homepage را در قسمت جستجو وارد کنید مشاهده میکنید که به این نام ادرس صفحه خانگیتان به عنوان مقدار اختصاص داده شده است. در واقع فایرفاکس از این کلید برای ذخیره ادرس صفحه خانگی استفاده میکند.
افزونه شما هم ممکن است نیاز داشته باشد داده هایی را ذخیره کند. در این صورت در بیشتر موارد سیستم Preference بهترین گزینه شما خواهد بود.
نوع داده ها
مقادیری که در سیستم Preference فایرفاکس ذخیره میشود میتواند شامل سه نوع داده باشد. مقادیر عددی مانند 0.002 مقادیر بولی که عبارتند از true و false یا مقادیر رشته ای (استرینگ) مانند "myvalue".
خواندن و نوشتن اطلاعات
برای دسترسی به سیستم Preference باید ابتدا به صورت زیر میانجی nsIPrefBranch را فراخوانی کنیم:
var prefs = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
حال بسته به این که داده ای که میخواهیم بنویسیم یک عدد است یا یک بولین و یا یک رشته از یکی از این روشها استفاده میکنیم: setBoolPref برای نوشتن بولین، setCharPref برای نوشتن رشته و setIntPref برای نوشتن عدد.
در مثالهای زیر نام ها با رنگ سبز و مقادیری که به آنان اختصاص داده شده به رنگ آبی نمایش داده شده است:
prefs.setBoolPref("my.preference.name.boolean", true);
prefs.setCharPref("my.preference.name.string", "mystring");
prefs.setIntPref("my.preference.name.integer", 4256);
برای خواندن داده هم بسته به این که عدد باشد یا بولین و یا رشته از یکی از این روشها استفاده میکنیم: getBoolPref برای خواندن بولین، getCharPref برای خواندن رشته و getIntPref برای خواندن عدد. حال به مثالهای زیر دقت کنید:
prefs.getBoolPref("my.preference.name.boolean");
prefs.getCharPref("my.preference.name.string");
prefs.getIntPref("my.preference.name.integer");
افزودن مقادیر پیشفرض به سیستم Preference در هنگان نصب افزونه
ممکن است افزونه شما نیاز داشته باشد که درست در هنگام نصب مقادیری را در سیستم Preference ذخیره کند. این کار با افزودن فایلی با نام prefs.js که حاوی کلید ها و مقادیر آنها است ممکن میشود. این فایل درون پوشه preferences قرار میگیرد و خود این پوشه هم درون پوشه defaults :
محتوای فایل prefs.js مانند زیر است:
pref("my.preference.name.boolean", true);
pref("my.preference.name.string", "mystring");
pref("my.preference.name.integer", 4256);