如何在点击按钮时动态更新和显示JSON文件?

时间:2015-12-24 07:09:08

标签: javascript json firefox firefox-addon

我正在创建一个插件,在其中,单击工具栏按钮,将显示一个包含复选框和保存按钮的面板。单击保存按钮时,应在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();
});

1 个答案:

答案 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