通常我们设置 XULRunner 应用首选项:
var pref = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
pref.setBoolPref(name,value);
但是这些首选项存储在用户配置文件中。这意味着如果您创建新的 XULRunner 应用程序配置文件,首选项将丢失。
有没有办法在全球范围内设置偏好或在个人资料之间共享偏好?
XULRunner 将所有数据存储在配置文件中——创建新配置文件时从头开始是它的重点。您真的应该重新考虑将数据存储在用户配置文件之外,这通常是出乎意料的,而且是个坏主意。
但是,如果您真的想这样做,那么您就得靠自己了,您需要在用户配置文件之外的某个地方存储一个自定义文件。例如,您可以将文件存储在用户的主目录中:
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var file = FileUtils.getFile("Home", ["data.txt"]);
// Write to file here
该文件将为该计算机用户的所有配置文件共享。有关详细信息,请参阅文档。
请注意,即使这种方法也无法让您在同一台计算机上的不同用户之间共享首选项 - 通常没有保证所有用户都具有写访问权限的目录。