Firefox附加组件奇怪的行为

时间:2011-02-20 10:29:59

标签: exception xul preference

我有一个首选项并使用下面的语句来访问它的内容

var st = easyfa.branch.getComplexValue("mapstr",Components.interfaces.nsIPrefLocalizedString).data; 

这引发了异常:

*Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIPrefBranch.getComplexValue]*

但是在手动设置首选项的值后(通过输入about:config),错误消失了!?

2 个答案:

答案 0 :(得分:2)

本地化首选项的默认值必须是.properties文件的chrome URL,其中会查找首选项以找到生成的字符串。假设URL指向区域设置文件,则允许根据安装的语言更改值。

但是您似乎想要一个简单的字符串首选项,您应该使用nsISupportsString接口检索它。

答案 1 :(得分:0)

获取未设置的首选项的值将始终抛出。您必须将其包装在try-catch块中并相应地处理它。