gpt4 book ai didi

javascript - 尝试使用 nsIPrefBranch 在 Firefox 扩展上存储数据会给出 NS_ERROR_UNEXPECTED

转载 作者:行者123 更新时间:2023-11-30 18:32:50 24 4
gpt4 key购买 nike

我正在尝试在 Firefox 扩展中保存少量持久数据。

所以,我正在尝试像这样使用 nsIPrefBranch:

var db = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
if(db.getCharPref('epoch')){ ///do something.. }

但它似乎不起作用,我收到了这个错误:

"Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getCharPref]"

有人可以告诉我做错了什么吗?

最佳答案

没有名为“epoch”的偏好 - 这就是此消息告诉您的内容。您必须先设置此首选项,然后才能期望 getCharPref() 成功。这就是为什么扩展通常将对 nsIPrefBranch 的调用包装到 try .. catch block 中 - 错误是预期的。

另外一点:首选项是一个共享空间(在 about:config 下查看它们)。您应该明确表示某个首选项属于您的扩展程序,并确保它不会与其他扩展程序或浏览器的首选项发生冲突。换句话说,使用“extensions.myExtension.epoch”之类的东西而不是“epoch”。

关于javascript - 尝试使用 nsIPrefBranch 在 Firefox 扩展上存储数据会给出 NS_ERROR_UNEXPECTED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com