【firefox插件开发笔记】配置开发环境

Firefox插件(也称Firefox扩展,Mozilla扩展)使用XUL(按照特殊语义书写的一种XML)+Javascript进行开发,使用Zip格式压缩进行发布,原则上可以使用任何文本编辑器+压缩工具进行开发。在开发BackwordGladder时,我使用了Eclipse+Ant+JSEclipse作为IDE。

Eclispe

首先你要下载最新的Eclipse,推荐下载Eclipse Classic。

Ant

Eclipse Classic版本集成了Ant,其他的版本应该也有,如果没有……说真的,我不知道怎么独立安装Ant。

JSEclipse/Aptana

使用JSEclipse或者Aptana作为Javascript编辑器会对你的js编写效率有很大的帮助。

EclipseXUL

Eclipse没有附带能识别XUL语法的编辑器,虽然对于XUL的编写和修改一般都比较简单,但是如果你觉得没有语法高亮是无法忍受的,可以试着安装EclipseXUL

CVS/SVN

用于源代码管理。CVS同样为Eclipse默认集成,为了使用更为先进的SVN管理源代码,建议安装Subclipse

Firefox

当然,你会需要下载Firefox来测试你自己的插件。

Dev Profile

如果你平时也使用Firefox作为浏览器,建议你最好另外建一个开发专用的User Profile。

profilemananger

你需要运行Firefox用户配置文件管理器,在windows下是运行一个这样命令:

“C:\Program Files\Mozilla Firefox\firefox.exe” -profilemanager

新建一个配置文件,比如名字叫“Dev”,保存在一个比较容易找到的位置,如“c:\FFdev”。

startup with specific profile

你不会希望每次打开Firefox的时候都要选择一次用户配置文件。所以,你在通过普通的快捷方式启动Firefox的时候如果出现了用户配置文件管理器,你应该选择Default用户,并勾上“下次不再询问”。这样,如果要再使用开发专用环境的Firefox,就需要耍些手段。建一个特殊快捷方式,在它的目标中写入一些参数,就像这样:

“C:\Program Files\Mozilla Firefox\firefox.exe” -profile “c:\FFdev” -console

  • -profile “c:\FFdev” 制定了启动时使用的用户配置文件的位置
  • -console 会让打开的Firefox带有一个类似DOS命令行的窗口,它对我们后面将讲到的调试有非常大的帮助。

Helping Extensions

有一些Firefox插件可能会对你的插件开发有所帮助:

  • Console² Firefox自带的错误控制台的升级版。
  • MR Tech Disable XPI Install Delay Firefox在安装插件时默认会有一个5秒钟的延时确定界面,在调试的时候会经常需要安装新改好的插件,这个5秒钟会让人怒火中烧,这玩意儿就是专门让您消消这火的。
  • Quick Locale Switcher 如果你开发的插件是多语言版的,你会需要它。

评论 (1)

奇迹的背后都是误解

前阵子我们公司新来了一位身材魁梧,五官端正的男同学J,被另一个部门的一位女同学T一眼看中。于是T向她的各位好朋友求助,打听关于J的各种情况。T找到了不在公司的Q,Q无意中找到了我。恰好当时园区在进行篮球赛,公司篮球队急需像J一样的运动健将补充实力。作为球队队长的我于是邀请J加入篮球队,并递送给他一份个人资料表格让他填写。

1小时后,T从Q那里拿到了这样的资料:

姓名:xxx
出生日期:19xx-xx-xx
身高:xxx
体重:xxkg
贯籍:xxx
联系地址:xxxxxxxxx
手机:xxxxxxxx
喜欢的运动:x球、xx球、x球、x球
个人爱好:xx、xx、xxx

Q从此成了T心中的神仙……

在T看来,Q所完成的事情,堪称是一个奇迹。但真实的情况不过是一些无比寻常的事情的一系列巧合。每一个看似不可思议的事情背后都是因为信息的不对称而产生的误解。这个世界,没有奇迹,只有运气。

发表评论

gladder过周岁啦

按照我个人的意愿,gladder的第一版是要在去年的今天发布的,以“纪念”党的生日。

到今天,gladder一岁了,根据Mozilla的统计,总下载量刚刚超过了60K。非常感谢很多朋友在gladder的成长历程中给予的帮助和提出的建议。谢谢Alex,谢谢春霖,尤其谢谢IE-tab的台湾开发者。

本来过生日应该说些祝福的话,但是对gladder的祝福比较不好说出口:希望有一天你再也没有用武之地。

评论 (20)

献血补记

自从成年以后,我基本上每年都会主动去献血一次,以弥补当年还差9个月满十八岁时被拒绝的遗憾。

不过今年比较特别,因为是这次被人叫去的。上海血液中心的人给我打来电话说血库血小板短缺,希望我可以去献一次成分血。那个星期六下午我就打了个车过去了,当时刚刚烫了头发,长发飘飘,英姿卓绝 :$。接待的护士姐姐听说我中餐吃了一些油腻的东西,有些担心血清的质量,如果血清太黄或者太白都是不能献成分血的。如果以后有同学要步我后尘,请记住去之前的一餐一定不要吃含有油的东西、牛奶和豆浆……只能喝粥。还好,检测结果出来了,perfect。

献成分血比献全血要时间长一些,因为需要先把血抽出来、用离心机分离出需要的部分、再将剩余的部分输回体内,重复几遍。我这样,被护士姐姐称为闭着眼睛也可以扎进去的血管,也在那张椅子上也躺了将近一个小时才下来。中间我稍微移动了一下身体,负责扎针的护士姐姐出奇紧张的跑过来按住我的手。教训我千万不能乱动,因为她的一套抽血的一次性进口器材就要800块钱,万一中断就报废了。

虽然她说的在理,一根超过3厘米长的锋利针头就插在我的血管里,一不小心就会弄穿血管的。我只好消停下来,乖乖捏着她给我橡皮球。可我转念一想,一套取血的器材就要1K级别的成本,那一个单位的血小板值多少钱?加上保存和人员的成本,一个单位的血小板,除了血本身外的成本就有2K左右。如果不是从献血者那里得来的呢?成本算5K应该不是很过分吧。那这玩意儿的售价会是多少?10K?20K?越想我越觉得自己成了医疗系统的赚钱工具。

于是我大体上拒绝了她们一个月去献一次的邀请。再一想,我献的血能卖多少钱跟我又有什么关系呢?献血只是为了给那些濒临危险的人增加一些生存下来的可能,如果我们经过一两个小时不算痛苦的经历,捐献出我们身体无关紧要的一部分内容,就有可能给一个车祸或者白血病患者一次生存下来的机会,何乐而不为呢?而这个过程中谁谁谁获得了多少经济利益完全没有关系。

在人血可以完全实现人造前,希望大家多多参加自愿无偿献血。

评论 (1)

怎样设置gladder自定义代理

– English content is below –

在1.2版本的gladder中将加入自定义代理设置,这个教程将教你如何查找和设置自定义代理。

  1. 查找在线代理。一般可以搜索引擎开始,可以使用如:free proxytop proxy等关键字。你可能搜到一些在线代理网站或者在线代理网站排行榜。一个在线代理网站的主页一般结构比较简单,有一个类似google主页的大大的输入框,写着“Web Address”或者“URL”。可能还会有一些复选框来设置选项。如果你看到有“Use rotate13 encoding on the URL”这样的复选框,建议你选上。
  2. 在输入框中输入“http://www.test.com”,回车。
  3. 看看新打开的页面的地址,看能不能找到下面的内容中的一个:
    • http%3A%2F%2Fwww.test.com
    • uggc%3A%2F%2Fjjj.grfg.pbz
    • aHR0cDovL3d3dy50ZXN0LmNvbQ–

    如果一个都没有找到,那这个代理就可能不适合在gladder中使用。

  4. 你看到的地址一般是这样的结构:
    http://www.xxx.com/xxx.xx?q=http%3A%2F%2Fwww.test.com&hl=222
    需要进行加工成这样的形式才能作为gladder中自定义代理的地址设置:
    http://www.xxx.com/xxx.xx?hl=222&q=
    q=的部分必须放到最后。
  5. 根据你在第三步中找到的是第几个字符串来选择第几个加密方式,就可以了。
  6. 有什么问题,请访问Gladder Google Group

我们的好朋友春霖专门为gladder制作了查找代理的桌面工具: give me a ladder(欢迎下载)。


In the new 1.2 version, gladder will offer the new feature, Custom Proxy. This tutorial will show you how to set up a custom web proxy.
  1. You need to find some web proxy sites. Start with search engine with key words like free proxy or top proxy etc. You may find some proxy sites or proxy list sites. Usually, a proxy site looks like google, having a big input box name ‘Web Address’ or ‘URL’, sometimes with some checkboxes for options. If you find a checkbox named ‘Use rotate13 encoding on the URL’, check it.
  2. Input ‘http://www.test.com’ in the input box and press Enter.
  3. Try to find one of the following contents in the address of the new page:
    • http%3A%2F%2Fwww.test.com
    • uggc%3A%2F%2Fjjj.grfg.pbz
    • aHR0cDovL3d3dy50ZXN0LmNvbQ–

    If you got nothing, you may can not use the proxy in gladder.

  4. The address you looked at may constructed like this:
    http://www.xxx.com/xxx.xx?q=http%3A%2F%2Fwww.test.com&hl=222
    Before input into the URL setting of Custom Proxy, you need to make it look like this:
    http://www.xxx.com/xxx.xx?hl=222&q=
    The q= part must be the last part.
  5. Chose which URL Encoding Type you need by which content you found in step 3. Well done.
  6. Go Gladder Google Group for help.

Our best friend, chunlin, have made a desktop tool, give me a ladder, to ease this pain. (Enjoy it!)

评论 (16)

Backword version 1.3 released

昨天临晨我提交了最新的backword 1.3.1,改善了1.3.0中开始加入的复习页面。至此……终于……使用backword又不愿意搭建backword后台的朋友们可以删除收集的词汇了 :$ 我在这里向1.3.1版本之前的用户道歉:各位,对不起,这个功能来的太晚了。

评论 (4)

gladder 发布正式版 v1.0.0

前天忙到临晨四点,决定将gladder版本升为1.0.0,因为我觉得经过近一年来断断续续的更新,gladder总算是成了一个功能比较完整的插件。

以前gladder注重的是如何转入代理访问被封网站,所有的设计都围绕这一目的展开。但使用在线代理有一个很大的问题:使用在线代理访问网页时,页面中的所有连接的地址都会被自动修改为继续使用这个代理访问的地址;但同时为了避免url过滤导致无法访问,在线代理都会提供url加密的功能,这样用户就无法轻易的知道现在正在访问页面的url,如果用户想要离开代理,直接访问页面就很困难。

新版的gladder注重了如何从在线代理中跳出来的问题,中键点击的功能被改为了保证有效的跳入/跳出代理,还增加了自动跳出代理的功能。我相信使用新版本的gladder将会是一种愉悦的体验。

但另一方面想,为什么这样看似如此自然而重要的需求,会在gladder发布快一年之后才被加入到gladder的特性中?是因为我的愚钝和懒惰?还是gladder的用户不够多不够活跃?也许所有的软件设计中都面临着同样的困境?

“不要去做一个你自己都不会用的产品”,这条设计准则也许不单单适用于项目设立之初。

评论 (15)

You never know what you can do unless you did!

You never know what you can do unless you did! –gneheix

这是我给msn messenger写personal message的时候突然想到的一句,原文是用的until,后来觉得unless好一点。会有此感的原因是我把至今唯一的一篇翻译文章发表到了译言上,结果居然被人称道为翻译的不错,甚至还被keso老大收藏了,要知道我可是大学英语四级考37分的角。

因为这个,我还获准参加了译言的第一次商业翻译《Inside Facebook》,不知道这书哪年哪月可以面试呀,搞不好这就是我第一次出现在公开发售的印刷品上。

生活就像一盒巧克力……

评论 (1)

我相信我不可能比现在更快乐

“我相信我不可能比现在更快乐” –gneheix

我自认为是一个天赋很高的人,在大多数情况下事实也趋向于肯定这一点。但始终没有在自己身上看到让自己满意的成果,通常我会归咎于自己的懒惰,但有时也会埋怨命运的不公。对于初中时一分之差没能考上省重点高中转而读了中专的事我一直耿耿於怀,如果我考上了,我的生活又会如何?我幻想着,一定比现在好吧。

可我没有能力改变过去,即使有,也没有任何意义,因为那个被改变了的我就不再是我了。在宇宙观上,我相信存在着无数个平行的世界,其中有一个世界中有另一个考上了高中我存在着,也许他很快乐,也许不是。但是这跟我毫无关系,我们分享着同样的过去,但却有彼此隔绝的未来。

评论 (5)

向大家推荐一本书:《你想知道而不敢问的性知识》

它是传说中的性教育读物,得益网下载量冠军,它就是《你想知道而不敢问的性知识

请注意,它绝不是挂着羊头卖狗肉的黄书,也不是挂着狗头卖羊肉的生物教科书,而是一本幽默风趣的科普读本,建议所有青年男女都进修一下。

发表评论

早前文章 »
加关注

Get every new post delivered to your Inbox.