Sha*_*atu 7 firefox xpcom firefox-addon firefox-addon-sdk
我过去曾从事过Mozilla附加开发(初学者级别).但在遇到XPCOM时,我真的很害怕,把它留在中间.
最近我才遇到Add-on SDK并发现它非常酷,看到之前几个月的工作与SDK的工作时间不超过2天真的很吸引人.现在我再次陷入XPCOM模块.
现在我真的想利用XPCOM的强大功能但是至少需要一周时间才能在SDK环境中熟悉XPCOM.我需要什么代码才能获得我想要的功能?
对于每个用户会话,我想记录一些东西.我能够区分会话.我现在想的是建立在用户的计算机文件,从附加打开它,并写些东西到它的代码.
用于访问书签和下载并阅读它们的代码.
如果我不得不从SDK切换回来,那将是一个令人心碎的时刻.
该chrome软件包为您提供完整的XPCOM访问权限.对于文件访问,最好使用该FileUtils模块:
var {Cc, Ci, Cu} = require("chrome");
var {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm");
var file = FileUtils.getFile("ProfD", ["mylogfile.txt"]);
var stream = FileUtils.openFileOutputStream(...);
stream.write(data, data.length);
stream.close();
Run Code Online (Sandbox Code Playgroud)
导入模块的一些不寻常的语法是由于错误683217.请注意,FileUtils.openFileOutputStream()仅从Firefox 7开始提供,FileUtils.openSafeFileOutputStream()如果要附加到文件,则无法使用.
对于书签访问,您可以使用常用的代码段,从以下开始:
var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"]
.getService(Ci.nsINavBookmarksService);
Run Code Online (Sandbox Code Playgroud)