javascript - Firefox 扩展将数据写入文件

标签 javascript firefox

我的 Firefox 扩展中有一个类似哈希表的数据集,我愿意将其保存在一个简单的文本文件中。我已经浏览了很多示例代码,但没有一个对我有用。例如,1 , 2 。我是在 Firefox 上开发扩展的初学者,在我看来,写入文件的语法有点复杂。谁能给我一个有效的例子?顺便说一句,我使用的是unix。因为我看到了他们使用 Windows 系统调用写入文件的示例。

最佳答案

下面是一些示例代码,用于将名为 myfile.txt 的文件写入您的 Firefox 配置文件目录:

    var txt = "my file contents";

    var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD",  Components.interfaces.nsIFile);
    file.append("myfile.txt");
    var fs = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
    fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
    fs.write(txt, txt.length);
    fs.close();

如果您使用的是 Firefox Addon SDK (jetpack),则需要对其进行一些修改。

    var {Cc, Ci} = require("chrome");

    var txt = "my file contents";

    var file = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("ProfD", Ci.nsIFile);
    file.append("myfile.txt");
    var fs = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
    fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
    fs.write(txt, txt.length);
    fs.close();

关于javascript - Firefox 扩展将数据写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705970/

相关文章:

javascript - 保持工具提示元素处于打开状态,直到时间工具提示悬停

Javascript 书签在 Firefox 中输出 'true' 而不是执行脚本

Javascript 对象属性值根据其显示方式而有所不同

internet-explorer - 如何在 IE9 和 Firefox 中应用 appearance none 属性?

javascript - 在单个快速处理程序中处理 multipart/formdata、application/json 和 text/plain?

javascript - Angular ng-show ng-hide 动画

javascript - 过渡组动画在添加第三个元素时改变行为

javascript - 如何确定扩展的目录

javascript - HTML5 视频在循环时卡顿?

javascript - 更改移动设备的 DOM 堆叠顺序