如何使用firefox附加sdk保存文本文件?

And*_*eda 4 firefox-addon-sdk

这是我的main.js:

var widgets = require("sdk/widget");
var {Cc, Ci, Cu} = require("chrome");
var promptSvc = Cc["@mozilla.org/embedcomp/prompt-service;1"].
    getService(Ci.nsIPromptService);
var stringtosave = 'secret information';

var widget = widgets.Widget({
    id: "save_text_button",
    label: "save text",
    contentURL: "http://www.mozilla.org/favicon.ico",
    onClick: function() {
        promptSvc.alert(null, "My Add-on", stringtosave + " saved! ");
    }
});
Run Code Online (Sandbox Code Playgroud)

它可以使用XPCOM警告字符串.

如何将stringtosave保存在PC硬盘上某处的文本文件中?

也许有一个简单的解决方案,也可以使用XPCOM.

paa*_*paa 8

假设您要使用配置文件目录

const { pathFor } = require('sdk/system');
const path = require('sdk/fs/path');
const file = require('sdk/io/file');

function saveText(name, str){
  var filename = path.join(pathFor('ProfD'), name);
  var textWriter = file.open(filename, 'w');
  textWriter.write(str);
  textWriter.close();
}

function readText(name){
  var filename = path.join(pathFor('ProfD'), name);
  if(!file.exists(filename)){
    return null;
  }
  var textReader = file.open(filename, 'r');
  var str = textReader.read();
  textReader.close();
  return str;
}
Run Code Online (Sandbox Code Playgroud)