Loading.. Current Page is Loading.

Firefox Add-on IO读写安装包内文件

1. February 2010

原来写过一个File类,这个类的作用就是在Extension中读写本地文件,不过作为浏览器插件,读写本地文件到磁盘就会有一些很不好的问题,这些问题可以总结如下。

  • 写文件要写绝对路径。
  • 不同操作系统有不同的路径。
  • 卸载插件的时候需要手动找到路径删除。

这三点是非常麻烦的,也会造成后期的维护的困难。当然,我们希望的是用户卸载插件的时候连同配置文件一起删除,读写文件也写到安装包路径中。

在Firefox中,有一个XPCOM可以解决这个问题,我们可以通过以下代码获取路径。

const id = "test@test.com";

var extension = Components.classes["@mozilla.org/extensions/manager;1"]
.getService(Components.interfaces.nsIExtensionManager)
.getInstallLocation(id)
.getItemLocation(id);

然后,我们可以通过相应的IO类去进行文件的读写,代码如下。

var io = new jguoer.IO();
var file = io.open(extension.path+"\\file.txt");
io.write(file,
"test");
alert(io.read(file));

同样,附上我写的IO类,可以读写文件以及进行一些编码转换,代码我就不贴出来了,好的命名已经解释了一切了。

IO.rar (1.45 kb)

Firefox Addon , , , , ,

Add comment


(Will show your Gravatar icon)  

(Match case,A is not a!)
  Country flag

biuqbr
  • Comment
  • Preview
Loading



About me

Hello,欢迎来到我的博客,我叫郭靖(但不是大侠),我是一个程序员,现居北京,同时我还爱好设计和前端开发。
jguoer.comshangducms.com都在使用,还可以通过前缀dxwt访问电信和网通线路。:)

Suggest Articles

Loading..
感谢风云互联提供免费稳定优质的企业级主机 京ICP备09081424号 Best view on Mac OS X