Firefox扩展:在本地.txt文件中写入当前网页的cookie名称

时间:2014-06-20 02:08:46

标签: javascript firefox cookies firefox-addon

我正在编写一个Firefox扩展,它应该从当前访问的网页获取所有cookie名称,并在文本文件中写入名称。到目前为止,我在javascript中有以下代码:

var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");
var widget = widgets.Widget({
  id: "mozilla-link",
  label: "Main Menu",
  contentURL: require("sdk/self").data.url("icon-16.png"),
  onClick: function() {
    const {Cc,Ci} = require("chrome");
    var f = '/home/user4/Desktop/my-addon/exported.txt';
    var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
    file.initWithPath(f);
    if(file.exists() == false) //check to see if file exists
    {
        file.create( Ci.nsIFile.NORMAL_FILE_TYPE, 420);
    }
    var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
    foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 
    var converter = Cc["@mozilla.org/intl/converter-output-stream;1"].createInstance(Ci.nsIConverterOutputStream);
    converter.init(foStream,"UTF-8", 0, 0);
    converter.writeString('Some test string.');
    converter.close(); // this closes foStream
  }
});

成功创建exported.txt文件并在其中写入"Some test string."字符串。但是,当我尝试

var x = document.cookie;

获取cookie然后

converter.writeString(x);

在文本文件中写入名称,没有任何反应。在这种情况下,扩展名甚至不会创建en .txt文件。 我做错了什么?

1 个答案:

答案 0 :(得分:2)

document中没有document.cookie,因此没有main.js