我正在创建一个插件,在其中,单击工具栏按钮,将显示一个包含复选框和保存按钮的面板。单击保存按钮时,应在JSON文件中保存/更新所选复选框的数据,该文件应在单击保存后显示。 此外,即使在浏览器重启后,JSON文件中动态更新的数据也应该可用。 JSON文件也应该保存在文件系统或本地存储中吗? 这是可能的.. PLZ帮助...并且PLZ询问您是否需要更多信息。下面是我使用的addonScript: -
var self = require('sdk/self');
var data = require("sdk/self").data;
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("CheckboxAddon.html"),
//contentScriptFile: data.url("my-script.js")
});
// button creation
require("sdk/ui/button/action").ActionButton({
id: "show-panel",
label: "Show Panel",
icon: {
"16": "./star-icon.png",
},
onClick: handleClick
});
// Show the panel when the user clicks the button.
function handleClick(state) {
text_entry.show();
}
text_entry.on("show", function() {
text_entry.port.emit("show");
});
text_entry.port.on("text-entered", function (text) {
console.log(text);
text_entry.hide();
});
答案 0 :(得分:0)
要记住的一件事是JSON是javascript的一个子集,所以你只需编写一个javascript对象,它也是有效的JSON。在你的情况下,我怀疑这将是你必须要担心的事情。要实现您正在寻找的效果,您可以简单地将任何数据放入dataString = JSON.stringify(data)
或dataString = JSON.stringify(data, null, "\t")
,以使其具有json格式外观。相反,您可以使用JSON.parse(dataString)
将字符串转换为javascript对象。
绝对使用json.org documentation指南自己编写JSON对象。
documentation on MDN有很好的例子,请查看方法部分中的JSON.stringify和JSON.parse