dreamkz пишет1)
pref(prefName, value) – устанавливает параметру пользовательское значение. Эта функция явно устанавливает параметр как пользовательский параметр. Это означает, что если пользователь изменил значение, оно будет сбрасываться при каждом запуске браузера.
Вот тут не понял. Например, как может пользователь менять значение параметра на false, если оно будет сбрасываться на дефолтное true при каждом запуске браузера? Или имеется в виду, что дефолтное значение true будет сбрасываться на пользовательское false при каждом запуске браузера?
Имеется в виду лишь то, что этот параметр:
1. Пользовательский. То есть выделен жирным в about:config
2. Как его не переключай в about:config — он всё равно будет помечен жирным (так как в любом случае он пользовательский и значение установлено пользователем. То есть какого то дефолтного не имеет).
3. Сбрасываться — имеется в виду, что будут игнорироваться установки из user.js. То есть пользователь изменил настройки в user.js, но при запуске параметр сброситься в значение, установленное администратором в firefox.cfg. Про true и false ничего не сказано. Имеются в виду лишь настройки в firefox.cfg.
4. Этот параметр со значением из firefox.cfg копируется в prefs.js
dreamkz пишет2)
defaultPref(prefName, value) – устанавливает параметру значение по умолчанию. Это то значение, которое параметр имеет, когда пользователь не устанавливает никакое значение.
С этим более менее понятно. Но для чего тогда ставить defaultPref, если пользователем вообще не будет устанавливаться никакого значения?
Пользователь не устанавливает. Но вы, как администратор, можете установить дефолтное состояние параметра в firefox.cfg
Для чего? Вам как администратору надо чтобы этот параметр имел определённое значение. А пользователь про это не знает, да ему и не надо.
Этот параметр со значением из firefox.cfg не копируется в prefs.js
dreamkz пишет5)
getPref(prefName) – возвращает значение параметра. Если параметр не существует, выводит ошибку. Вы должны использовать эту функцию только для параметров, о которых знаете, что они существуют.
Тут непонятно, для чего возвращать значение параметру?
Для использования скриптом. Мало ли кто чего захочет в firefox.cfg реализовать. А с помощью этой функции погромист может получить значение параметра, чтобы поменять его там же, в зависимости от значения или ещё какую логику реализовать. Цитата из Модификация Firefox с помощью AutoConfig
Несмотря на то, что расширение файла AutoConfig обычно cfg, сам по себе файл AutoConfig является JavaScript-файл. Это означает, что вы можете писать на JavaScript внутри файла, чтобы применять различную логику в разных ситуациях.
dreamkz пишет6)
clearPref(prefName) – удаляет пользовательское значение параметра, сбрасывая его в значение по умолчанию.
Для чего удалять пользовательские значения, если можно сам параметр можно заблокировать через lockPref?
Ну... Можно заблокировать, а можно удалить. Поскольку (как так же указано в той справочной статье) файлом firefox.cfg можно управлять централизованно, то можно разом удалить неиспользуемые уже параметры. Для новой версии браузера, например, или просто неактуальные. Чего им в настройках болтаться, если они уже не нужны?
Ну типа того и всё такое... ©