无法设置布尔简单prefs

Cannot set bool simple-prefs

本文关键字:简单 prefs 布尔 设置      更新时间:2023-09-29

这是我试图设置的首选项:

{
        "name": "datestamp",
        "title": "Date stamp?",
        "type": "bool",
        "value": true
    }

这是附加码,

preference.js

var preference = require("simple-prefs");
exports.set = function(preferenceTemp, value){
    console.log(value);
    preference.prefs[preferenceTemp] = value;
}

main.js

Preference = require("./Preference")
Preference.set('datestamp', true);

尝试执行时控制台上出现错误:

console.error: addon: 
  Message: [Exception... "Component returned failure code: 0x8000ffff 
  (NS_ERROR_UNEXPECTED) [nsIPrefBranch.setComplexValue]"  nsresult: "0x8000ffff 
  (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/XPIProvider.jsm
    -> jar:file:///tmp/tmpuc82Vi.mozrunner/extensions
    /addon@bobbyrne01.org.xpi!/bootstrap.js -> resource://gre/modules/commonjs/toolkit
    /loader.js -> resource://gre/modules/commonjs/sdk/preferences/service.js :: set :: 
    line 92"  data: no]

问题是,我从代码中的其他地方传入了一个未设置为布尔值的字符串
这就成功了:

Preference.set('datestamp', 'true' === "true");