2012-10-16 33 views
1

設置全局偏好通常我們設定的XULRunner應用程序的首選項:如何在XULRunner的應用

var pref = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); 
pref.setBoolPref(name,value); 

但是,這些首選項存儲在用戶配置文件。這意味着如果您創建新的XULRunner應用程序配置文件,首選項將會丟失。

有沒有辦法設置全局偏好或共享配置文件之間的偏好?

回答

1

XULRunner的存儲配置文件的所有數據 - 從頭開始​​時創建一個新的配置文件是它的全部意義。您應該重新考慮將數據存儲在用戶配置文件之外,通常這是意想不到的,而且只是一個糟糕的主意。

但如果你真的想這樣做,那麼你是你自己,你需要在一些地方保存自定義文件中的用戶配置文件之外。例如,你可以一個文件存儲在用戶的主目錄:

Components.utils.import("resource://gre/modules/FileUtils.jsm"); 
var file = FileUtils.getFile("Home", ["data.txt"]); 
// Write to file here 

該文件會爲這臺計算機的用戶的所有配置文件共享。欲瞭解更多信息,請參閱documentation

注意,即使這種做法不會給你一個方法來共享同一臺計算機上的不同用戶之間的偏好 - 通常沒有目錄,所有用戶都保證有寫權限。

+0

是, 最後我用nsIPrefService.savePrefFile配置偏好保存到一個文件中。 ,然後使用nsIPrefService.readUserPrefs在應用程序加載時加載首選項。 這是醜陋的方式,但它解決了我的問題。 – user1676766

相關問題